iOS 测试版测试人员无法下载应用程序分布式 OTA



多年来我一直在使用我的临时发行版的"OTA"发行版进行beta测试。它总是有效的。最新版本是在5月份。伟大的工作。

一般的想法是。ipa和。plist在我们的服务器上。我有一个带有items -services:链接到。plist的页面,其中包含。ipa的URL,它也在我们的服务器上。

刚刚为我们的测试者上传了一个新版本。我可以把它下载到我的iPhone和iPad上。测试者说,他们点击了我们网站上的链接,但什么也没发生。当我这样做时,我得到正常的消息,问我是否可以安装应用程序。我回答是,然后应用程序下载,一切都很好。

我已经将iPad连接到XCode,并删除了所有移动配置文件和应用程序。然后我从网站上安装了一个,它工作得很好。但我的每一个测试者都说这行不通。他们甚至不会得到是否可以安装的提示。他们说当他们点击items -services链接时什么也没发生。

我已经确认他们所有的uid都在配置文件中。

items -services链接如下:

<a href="itms-services://?action=download-manifest&url=https%3a%2f%2fwww.example.com%2fexample.plist">Install Application</a>

.plist是这样的:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>https://www.example.com/example.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.example.example</string> <key>bundle-version</key> <string>3.3.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>Example</string> </dict> </dict> </array> </dict> </plist>

我已经用"example"代替了我的domain和app;两个名字都没有空格(其他人在其他问题中提到过这个问题——只是想澄清一下)

我终于在这里找到了一个链接到这篇博客文章的答案。事实证明,这是iOS 8的一个漏洞,苹果还没有费心去修复。如果iOS 8已经安装了之前版本的应用程序(或者可能是在iOS 8升级之前安装的应用程序),那么iOS 8将不会下载临时分发版。如果设备上有开发人员证书,它就会工作,这就是为什么它适用于我的设备,即使我从设备中删除了配置文件。

EDIT:这在iOS 9中得到了修复,但我发现iOS 9用户必须先删除已发布的App Store版本才能安装测试版。除此之外,Ad Hoc分布在iOS 9中运行良好,特别是可以在配置文件中注册的设备数量的扩展(100个ipad, 100个iphone, 100个iPod touch,而不是总共100个设备)。

最新更新