为了部署企业iOS应用,我创建了以下链接:
未编码版本(便于阅读):
<a href="itms-services://?action=download-manifest&url=https://example.com/api/distribution/ios?token=abc123">Download</a>
编码版本:
<a href="itms-services://?action=download-manifest&url=https%3A%2F%2Fexample.com%2Fapi%2Fdistribution%2Fios%3Ftoken%3Dabc123">Download</a>
假设用户的令牌有效,则通过SSL返回.plist
文件,如here所述。 .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>
据我所知,我们的GoDaddy SSL证书似乎位于trusted list。
然而,尽管如此,在点击链接并等待片刻之后,我收到以下错误:
Cannot connect to [domain]
点击链接后,这是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
有什么想法吗?
答案 0 :(得分:7)
我遇到了这个问题,这里没有任何记录在案的解决方案,或者在其他答案中都没有为我工作。使用正确的SSL证书,可以在目标设备上的safari中加载plist,没有任何问题。但是,尝试使用&#34; itms-services://...&#34进行安装;链接总是会失败&#34;无法连接到[域名]&#34;错误。
问题是未在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."
在Apache上安装中间SSL证书解决了这个问题。
答案 1 :(得分:5)
我有一段时间这样的问题,这让我发疯了。我得到了弹出窗口&#34;无法连接到[域名]&#34;我在日志中看到了同样的错误&#34;无法连接到iTunes Store。&#34;
最初的问题是我失踪了&#34;&gt;&#34;在我的.plist xml文件中。
但我修复了失踪的&#34;&gt;&#34;它在另一个ipad上工作。那么,它应该在原来的ipad上运行,对吗?好吧,不,因为带有拼写错误的坏人必须仍然在ipad的缓存中。
因此,修复方法是重命名.plist文件,或者关闭并重新启动&#34; ipad,或者找一些其他方法来清除你错误的plist文件的ipad缓存。
答案 2 :(得分:2)
检查TEMP_URL的URL链接值上的任何尾部斜杠并将其删除。如果您在浏览器上使用尾部斜杠测试URL,它将毫无问题地下载。在plist中它会失败。
答案 3 :(得分:2)
不确定这会对原始海报有所帮助,因为我不知道itms-services如何运作,但它可能有助于其他人看到&#34;无法连接到[域名]&#34;错误。
我们尝试通过Safari安装企业部署并不断看到此错误。 plist很好,如果我们直接输入url,它指向的ipa文件会下载。但是我们意识到我们正在通过http进行第一次(预安装)连接。将此更改为https允许安装按预期进行。
答案 4 :(得分:2)
我收到同样的错误。
就我而言,无法访问“.plist”。
我的决心是将相应的mime-types添加到由Internet Information Services(IIS)托管的网站。
即“.ipa”和“.plist”。
答案 5 :(得分:1)
我们遇到同样的问题,因为设备的内部日期设置为 有效日期范围。 (1970年1月1日)
无效日期也会使ssl证书无效,7.1+设备需要有效的https连接才能安装企业应用程序。
我们通过将设备日期更改为当前日期来解决此问题。
答案 6 :(得分:1)
如果你已经尝试了其他所有内容并仍然收到&#34;无法连接到[域名]&#34;错误,请确保.plist中指向图片的网址以&#34; .jpg&#34;结尾。或&#34; .png&#34;。如果这是动态生成的图像,您可以创建一个以这些扩展名之一结束的特殊路径。
答案 7 :(得分:0)
就我而言,.ipa 的文件名中有空格
删除后,问题就解决了。