我们通过一个企业账户,使用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发布说明中找到任何东西来建议可能导致问题的原因。
当前回答
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,您可以像以前一样安装应用程序。
多么美好的世界啊!
其他回答
除了使用Dropbox进行企业推广,你还可以使用TestFlight进行企业签名应用的推广。
https://www.testflightapp.com/
对于托管和分发临时开发版本和企业版本来说,这是一个非常棒的服务。
我通过将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证书。我们已经做过了,但我想没有它你会有问题。
通用的解决方案是将你的设备连接到Mac上,然后观察安装过程中发生了什么。我得到一个错误:
Could not load download manifest with underlying error: Error Domain=NSURLErrorDomain Code=-1202 "Cannot connect to the Store" UserInfo=0x146635d0 {NSLocalizedDescription=Cannot connect to the Store, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSLocalizedFailureReason=A secure connection could not be established. Please check your Date & Time settings., NSErrorFailingURLStringKey=https://myserver.com/app/manifest.plist, NSUnderlyingError=0x14678880 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “myserver.com” which could put your confidential information at risk.", NSURLErrorFailingURLPeerTrustErrorKey=, NSErrorFailingURLKey=https://myserver.com/app/manifest.plist}
错误中甚至有检查日期设置的建议。不知什么原因,那天是1970年1月1日。设置正确的日期就解决了这个问题。
我也遇到了同样的麻烦,照上面说的做了。
Put the plist in dropbox. Over the download file button, below an image of the document with mouse right button select the copy link action. This link is already something like https://dl.dropboxusercontent.com/s/xyz123/app.plist?stuff=stuff with many params. Remove the parameters (kept only address between https and .plist) Browse for url encode online, selected one of those links, copy, paste, execute, then the resulting text copied and pasted into the html where I have the itms-services link. By the way I have this html in two different locations, one of those is where the ipa is located. Make sure the plist includes absolute references to the ipa file.
这两个页面都成功地在ios 7.1的iphone上安装了应用程序
但是,现在安装了ios 7.0x的iphone无法安装该应用程序。
我创建了一个新问题:升级后的adhoc应用部署在7.1之前的ios上无法工作
这两个问题紧密相关,也因缺乏官方参考而联系在一起。
进一步Mark Parnell的回答,一个快速而又不太规范的解决方法是将manifest plist放入Dropbox,然后使用Dropbox的web界面来获得直接的https链接(“分享链接”->“获取链接”->“下载”)。
真正的ipa可以保留在你经常饮用的地方。在将plist的URL插入itms- services URL的查询之前,您需要对其进行URL编码(尽管只需要将任何&s替换为%3D就可以了)。
一个缺点是安装对话框现在会显示“dl.dropbox.com想要安装[任何]”。