我想在我自己的服务器上发布我的Beta Adhoc版本。在Apple用于无线安装应用程序的逻辑中,似乎有两个重要的URL。
第一个url在HTML中:
<p><a href="itms-services://?action=download-manifest&url=http://www.example.com.cn/path/to/plist/theplist.plist">Adhoc Build</a></p>
第二个是plist文件内部
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://www.example.com.cn/path/to/binary/app.ipa</string>
</dict>
这些urls可以是相对的吗?我想让相同的HTML和XML文件在我的两台开发机器(MAMP服务器)上工作,首先测试我可以下载二进制文件,然后在我的web服务器(NGINX)上将即席构建发布给我的测试人员。目前,我只能让它的工作与绝对网址。
我的想法是这两个相对的URL应该可以工作
<p><a href="itms-services://?action=download-manifest&url=/path/to/plist/theplist.plist">Adhoc Build</a></p>
和
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>/path/to/binary/app.ipa</string>
</dict>
当我使用这些相对的URL时,当我点击时,设备会弹出一个提示"Cannot connect to (null)“
发布于 2013-09-17 19:48:18
对于HTTP或HTTPS请求,web浏览器可以处理相对URL以填充缺少的详细信息。指向.plist文件的链接是一个自定义的URL方案。Safari不知道URL的格式,所以它不会填充任何缺少的细节。因此该链接必须是绝对URL。Safari只是寻找可以处理itms服务URL方案的东西,并将整个URL发送到该方案。
到.ipa文件的链接也必须是绝对的,这不是因为处理itms-services URL方案的程序没有足够的信息,而是因为该程序没有运行内置的逻辑来处理URL。我猜苹果更喜欢保持代码的简单和可靠,而不是添加相对的URL功能。
您有一个解决方案是编写某种类型的服务器端处理器的HTML和PLIST文件,以产生基于服务器的绝对URL重写的文件。您选择如何完成此操作将取决于您的服务器的配置。
另一种解决方案是将.plist和.ipa保留在主the服务器上,使用指向该服务器的绝对URL,并在两个服务器上使用您的HTML文件。
https://stackoverflow.com/questions/15082109
复制