iOS Enterprise Deployement:单击itms-services链接会导致"无法连接到[域]"错误

Dav*_*nes 6 iphone ssl plist ios ipa

为了部署企业iOS应用程序,我创建了以下链接:

未编码版本(便于阅读):

<a href="itms-services://?action=download-manifest&url=https://example.com/api/distribution/ios?token=abc123">Download</a>
Run Code Online (Sandbox Code Playgroud)

编码版本:

<a href="itms-services://?action=download-manifest&url=https%3A%2F%2Fexample.com%2Fapi%2Fdistribution%2Fios%3Ftoken%3Dabc123">Download</a>
Run Code Online (Sandbox Code Playgroud)

链接已正确编码,如此此处所述.

假设用户的令牌是有效的,.plist文件通过SSL返回,作为讨论在这里..ipa文件中引用的.plist文件的URL 是即时生成的.这是.plist文件的样子:

<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>TEMP_URL</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>org.cocos2d.ready-ios</string>
                <key>bundle-version</key>
                <string>0.0.1</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>Ready</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

据我所知,我们的GoDaddy SSL证书似乎在可信列表中.

但是,尽管如此,在点击链接并等待片刻之后,我收到以下错误:

Cannot connect to [domain]
Run Code Online (Sandbox Code Playgroud)

这是点击链接后的iPhone控制台输出:

Aug 29 07:30:56 My-iPhone wifid[15] <Notice>: WiFi:[431015456.799163]: Client itunesstored set type to background application
Aug 29 07:30:56 My-iPhone wifid[15] <Notice>: WiFi:[431015456.804319]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd networkd itunesstored 
Aug 29 07:30:56 My-iPhone wifid[15] <Notice>: WiFi:[431015456.806066]: Already connected to [Company Name].
Aug 29 07:30:58 My-iPhone itunesstored[100] <Warning>: Could not load download manifest with underlying error: Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store" UserInfo=0x15788270 {NSLocalizedDescription=Cannot connect to iTunes Store}
Aug 29 07:31:03 My-iPhone wifid[15] <Notice>: WiFi:[431015463.925398]: Client itunesstored set type to normal application
Aug 29 07:31:03 My-iPhone wifid[15] <Notice>: WiFi:[431015463.928745]: BG Application: Not Present, BG Daemon: Present. Daemons: apsd networkd 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 8

我有这个问题,这里没有任何记录的解决方案,或者在其他答案中,没有为我工作.使用正确的SSL证书,可以在目标设备上的safari中加载plist,没有任何问题.但是,尝试使用"itms-services:// ..."链接进行安装将始终失败,并显示"无法连接到[域]"错误.

问题是Web服务器上未配置中间 SSL证书.Web浏览器没有问题,SSL有效,但将设备连接到Mac,并通过XCode中的设备面板查看日志显示以下错误:

iPhone itunesstored[83] <Warning>: Could not load download manifest with underlying error: Error Domain=NSURLErrorDomain Code=-1202 "Cannot connect to the Store".... "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “[mydomain]”, which could put your confidential information at risk."
Run Code Online (Sandbox Code Playgroud)

在Apache上安装中间SSL证书解决了这个问题.


bla*_*ond 5

我有一段时间这样的问题,这让我发疯了.我收到弹出窗口"无法连接到[域]",我在日志中看到同样的错误"无法连接到iTunes Store".

最初的问题是我的.plist xml文件中缺少">".

但我修复了丢失的">",它在另一个ipad上工作.那么,它应该在原来的ipad上运行,对吗?嗯,不,因为错误的plist必须仍然在那个ipad的缓存中.

因此,修复方法是重命名.plist文件,或者关闭并"重新启动"ipad,或者找一些其他方法来清除ipad的错误plist文件的缓存.


小智 2

检查 TEMP_URL 的 URL 链接值上是否有任何尾部斜杠并将其删除。如果您在浏览器上测试带有尾部斜杠的 URL,它将毫无问题地下载。在 plist 中它将失败。

  • 我简直不敢相信我竟然这么蠢。它起作用了..当我复制并粘贴内部版本号时,我从“&lt;/string&gt;”中删除了“&lt;”。谢谢! (2认同)

归档时间:

查看次数:

16601 次

最近记录:

9 年,2 月 前