ios 8 添加临时分发

Posted

技术标签:

【中文标题】ios 8 添加临时分发【英文标题】:ios 8 Add Hoc Distribution 【发布时间】:2015-08-31 15:47:11 【问题描述】:

ios 8.x 是否都支持通过 HTTPS 的 OTA 链接?

我想在注册到 istore 之前从 url 下载应用程序。

我正在尝试为 ios 8 分发 ota。我已经通过 php 编码从 ipa 文件中提取了 .plist 文件。

是否可以在注册到 istore 之前下载应用程序 ios8

显示警告

警告:- 此应用未设置为此网址 ->itms-services://?action=download-manifest&url=https://smashchart.com/scdev1/IPA-Distribution-master2/files/cConnects/cConnects.plist

我的 cConnects.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://smashchart.com/scdev1/IPA-Distribution-master2/files/cConnects.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.htshc.cConnects</string>
                <key>bundle-version</key>
                <string>1.1.8</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>cConnects</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

【问题讨论】:

【参考方案1】:

您的服务器不支持 SSL (https)。用 https 替换 http 链接不会神奇地使它起作用。

不幸的是,OTA 分发只能通过 SSL 工作(这可能是您尝试用 https 替换链接的原因)。因此,您必须将文件托管在支持 https 下载的服务器上,例如 Google Drive 或 Dropbox。

这是使用 Google Drive 的一种方法:

在 Google Drive 上托管您的 ipa 文件并获取共享 URL。 将此分享网址转换为下载网址(https://sites.google.com/site/gdocs2direct/) 你得到的url实际上是一个重定向到另一个url的url。它可以在浏览器中运行,并且可以在 iOS 7 下运行,但在 iOS 8 下通常无法运行,因此您必须获取真实的 url。 运行以下 curl 命令:curl -v 'your_url'Location 标头将包含真实的下载 url。将此网址添加到您的 .plist 文件中。 在 Google Drive 上托管您的 .plist 文件。获取分享 url,然后是重定向 url,然后是真正的下载 url,方法和以前一样。 编码此网址 (http://meyerweb.com/eric/tools/dencoder/) 使用以下格式生成链接:itms-services://www.example.com?action=download-manifest&amp;url=encoded_urlwww.example.com 可以替换为任何有效的域,它只是为了使链接可点击)。

您应该能够对其他服务应用类似的步骤。始终检查您的下载 url 是否不会重定向到另一个 url,它在 iOS 8 下无法正常工作。

【讨论】:

【参考方案2】:

你的http服务器的ssl证书没有配置正确。 https 限制不仅在链接的 http 前缀后添加“s”,您还应该在服务器上配置 ssl 证书。 您可以使用一些 PaaS 服务,例如 testflight,也可以将 ipa 和 plist 文件托管在某些 CDN 服务上,以提供 https 访问权限。

【讨论】:

真的很头疼,感谢您的帮助,现在应用程序正在通过 ota 下载....

以上是关于ios 8 添加临时分发的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 验证步骤作为临时分发的一部分 [重复]

iOS 8 Widget Ad Hoc 分发

CoreLocation 不适用于 iOS 8 上的 Adhoc 分发

iPhone ad-hoc 分发如何?

用于临时分发的 iOS 静态库

如何分发具有开发临时性的 ios 应用程序