我们通过一个企业账户,使用itms-services:// URL来分发应用。这一直都很正常,但在我们的iPad上安装了iOS 7.1测试版后,它就拒绝安装了。相反,我们只是得到一个通用的不能连接到example.com的消息,当下载应用程序出现任何问题时,iOS会毫无帮助地显示这个消息。
我无法在SO,谷歌或7.1发布说明中找到任何东西来建议可能导致问题的原因。
我们通过一个企业账户,使用itms-services:// URL来分发应用。这一直都很正常,但在我们的iPad上安装了iOS 7.1测试版后,它就拒绝安装了。相反,我们只是得到一个通用的不能连接到example.com的消息,当下载应用程序出现任何问题时,iOS会毫无帮助地显示这个消息。
我无法在SO,谷歌或7.1发布说明中找到任何东西来建议可能导致问题的原因。
当前回答
在阅读这篇文章后,我仍然有一个下载我的应用程序的问题。问题是由于自签名SSL证书。
我找到了解决这个问题的办法。您需要上传扩展名为'的证书文件。Crt ',并在移动safari中输入它的地址。系统询问您是否将证书添加到受信任证书列表。在此操作之后,您将能够安装您的特别应用程序。
其他回答
我通过将iPad连接到计算机并在试图安装应用程序时通过XCode Organizer查看控制台发现了这个问题。错误原来是:
无法加载非https清单URL: http://example.com/manifest.plist
在iOS 7.1中,清单的URL。plist文件必须是HTTPS,而我们使用的是HTTP。将URL更改为HTTPS解决了这个问题。
I.e.
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
就变成了
itms-services://?action=download-manifest&url=https://example.com/manifest.plist
我假设您必须拥有有关域的有效SSL证书。我们已经做过了,但我想没有它你会有问题。
进一步Mark Parnell的回答,一个快速而又不太规范的解决方法是将manifest plist放入Dropbox,然后使用Dropbox的web界面来获得直接的https链接(“分享链接”->“获取链接”->“下载”)。
真正的ipa可以保留在你经常饮用的地方。在将plist的URL插入itms- services URL的查询之前,您需要对其进行URL编码(尽管只需要将任何&s替换为%3D就可以了)。
一个缺点是安装对话框现在会显示“dl.dropbox.com想要安装[任何]”。
我可以确认它的工作,但你必须把html和plist的dropbox。 它也适用于非企业OTA,即你想要与你的开发团队共享应用程序。
我做了:
a)在我的网站上,我用这个链接做了一个页面:
.. href="https://dl.dropboxusercontent.com/u//(your DB id)/ipa.html
b)在DropBox上我写了另一个HTML页面:
. .https://dl.dropboxusercontent.com/u/(your DB id)/MyApp.plist"> . DB id " 点击“安装MyApp”
c)在DropBox上移动plist,但让它指向我的旧服务器(没有https)
Ingconti是对的。
Upload your app.plist to dropbox. Get shared link of app.plist, like https://www.dropbox.com/s/qgknrfngaxazm38/app.plist replace www.dropbox.com with dl.dropboxusercontent.com in the link, like https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist Remove any parameters on the dropbox shareable link such as "?dl=0t" (as per Carlos Aguirre Tradeco at Enterprise app deployment doesn't work on iOS 7.1 and my own experience). Create a download.html file with a link formatted as <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a> Upload your download.html to dropbox Again, get a shared link of download.html, like https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html, and remove any parameters. Replace www.dropbox.com with dl.dropboxusercontent.com in the second link as well, like https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
现在,在您的设备上访问https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html,您可以像以前一样安装应用程序。
多么美好的世界啊!
这是真的,在iOS7.1下,所有OTA部署都将通过https进行。苹果没有记录这一点,真可耻。
对于那些正在寻找比依赖dropbox或必须支付现金获得证书更好的内部解决方案的人来说,如果你遵循提示#5中列出的步骤,你可以有一个解决方案:http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
它的要点是:
创建自己的CA颁发机构证书,可以安装在完全受信任的设备上(我通过简单地通过电子邮件安装它) 根据根证书创建key/cer对,并将其安装到服务器上 确保您的web服务器使用与CA颁发机构根证书匹配的密钥/密钥对 在这一点上,你应该能够像往常一样通过https安装你的应用程序 所有这些都可以在OSX上使用已经默认安装的openssl来完成
这与仅仅使用自签名证书不同,在这个解决方案中,您还充当自己的私有证书颁发机构。如果安装在Apple设备上的根证书未标记为受信任(绿色),则有问题。重做一遍。
这绝对有效。
更新:3/13/2014 -我提供了一个小的命令行实用程序,简化了整个过程。你可以在https://github.com/deckarep/EasyCert/releases上得到它