我们通过一个企业账户,使用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,您可以像以前一样安装应用程序。

多么美好的世界啊!

其他回答

进一步Mark Parnell的回答,一个快速而又不太规范的解决方法是将manifest plist放入Dropbox,然后使用Dropbox的web界面来获得直接的https链接(“分享链接”->“获取链接”->“下载”)。

真正的ipa可以保留在你经常饮用的地方。在将plist的URL插入itms- services URL的查询之前,您需要对其进行URL编码(尽管只需要将任何&s替换为%3D就可以了)。

一个缺点是安装对话框现在会显示“dl.dropbox.com想要安装[任何]”。

如果你碰巧有AWS S3,它也很有魅力。好。相对而言:-)

在AWS中为您的ad hocs创建一个bucket,添加一个索引文件(它可以只是一个空白的index.html文件),然后使用一个可以连接到S3的客户端,如CyberDuck或Coda(我使用Coda -在那里您可以选择添加站点以获得连接窗口),然后设置连接如下所示:

然后在XCode中构建您的企业专用,并确保使用https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa作为应用程序URL,并将其上传到新的S3桶目录。

您的itms链接应该匹配,即itms-services://?action=download-manifest&url=https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist

和s。

这只适用于通用的AWS url -我还没有在AWS上尝试过自定义url,所以你可能需要做一些不同的事情。

我决心尝试让詹姆斯·韦伯斯特的解决方案凌驾于工作之上,但我无法让它与普雷斯克一起工作。

我通过将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证书。我们已经做过了,但我想没有它你会有问题。

我也遇到了同样的麻烦,照上面说的做了。

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上无法工作

这两个问题紧密相关,也因缺乏官方参考而联系在一起。

在阅读这篇文章后,我仍然有一个下载我的应用程序的问题。问题是由于自签名SSL证书。

我找到了解决这个问题的办法。您需要上传扩展名为'的证书文件。Crt ',并在移动safari中输入它的地址。系统询问您是否将证书添加到受信任证书列表。在此操作之后,您将能够安装您的特别应用程序。