【问题标题】:Over the Air iOS Adhoc Build using Relative URL使用相对 URL 进行无线 iOS Adhoc 构建
【发布时间】:2013-02-11 11:46:04
【问题描述】:

我想在我自己的服务器上分发我的 Beta Adhoc 构建。 Apple 用于无线安装应用程序的逻辑中似乎有 2 个重要的 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>

这些网址可以是相对的吗?我希望相同的 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 时,当我点击“无法连接到 (null)”时,我会从设备弹出一个窗口

【问题讨论】:

    标签: html ios xml ad-hoc-distribution


    【解决方案1】:

    对于 HTTP 或 HTTPS 请求,Web 浏览器可以处理相对 URL 以填充缺失的详细信息。 .plist 文件的链接是自定义 URL 方案。 Safari 不知道 URL 的格式,因此它不会填写任何缺失的详细信息。因此该链接必须是绝对 URL。 Safari 只是寻找可以处理 itms-services URL 方案的东西,并将整个 URL 发送到该方案。

    .ipa 文件的链接也必须是绝对的,不是因为处理 itms-services URL 方案的程序没有足够的信息,而是因为该程序没有运行内置的逻辑来处理 URL .我猜 Apple 更喜欢让代码保持简单和可靠,而不是添加相对 URL 功能。

    您拥有的一个解决方案是编写某种服务器端处理器来处理您的 HTML 和 PLIST 文件,以基于服务器生成具有绝对 URL 的重写文件。您选择如何完成此操作将取决于您的服务器的配置。

    另一种解决方案是将 .plist 和 .ipa 保留在主网络服务器上,使用该服务器的绝对 URL,并在两个服务器上使用您的 HTML 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 2017-09-30
      • 2018-08-14
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多