iOS 以无线方式安装内部应用程序

Posted

技术标签:

【中文标题】iOS 以无线方式安装内部应用程序【英文标题】:iOS install in-house app wirelessly 【发布时间】:2016-04-29 19:20:18 【问题描述】:

需要一些帮助才能正确理解术语和流程。

我有一个 ios 应用程序,我想在我的设备上安装以进行测试。到目前为止,我只能通过 iTunes(带有存档的 .ipa 文件)在我的设备上安装应用程序,将设备插入我的 Mac。

我的 iOS 开发者计划不是企业级的,它是常规的开发者计划(99 美元)。

我可以在我的情况下使用无线安装吗? http://help.apple.com/deployment/ios/#/apda0e3426d7 我的应用程序是使用“开发”配置文件而不是“内部”配置文件构建的。文档说它必须使用内部配置文件构建。我的开发者计划界面中没有内部选项。

我可以为我的用户提供哪些其他基于网络的无线安装选项?

【问题讨论】:

您有开发配置文件吗?您也可以使用 iOS 开发选项进行安装。 是的,我有开发配置文件?请提供一些有关如何执行此操作的文档链接 请按照说明操作,如果有帮助请告诉我 感谢会尽力跟进 【参考方案1】:

使用企业帐户内部分发配置文件签名和使用普通帐户进行签名的区别在于,前者允许任何 iOS 设备安装 .ipa,而后者只允许设备在配置文件中列出来安装它。 如果没有企业帐户,这意味着您需要首先从设备获取 deviceID,创建一个包含所有这些 ID 的配置文件,并将该配置文件用于 OTA 构建(OTA = 空中传输)。 但在您这样做之前,只需使用您自己的设备(如果从 Xcode 构建时使用的设备肯定会列出)尝试接下来的步骤。即使不尝试多个设备,后续步骤也很容易出错:

要创建 OTA 版本,您需要执行以下操作:

为内部分发创建一个 .ipa(这将确保配置文件包含在包中,从而允许列出的设备实际安装它) 创建一个 .plist 文件,其中包含有关应用程序的信息和 .ipa 文件的 URL(见下文)。其中包含的 .ipa 链接必须是 HTTPS。 创建一个带有特殊格式链接的 .html 文件(也需要是 HTTPS)到该 .plist 文件:<a href="itms-services://?action=download-manifest&url=http://linkToyour/plistFile.plist"> Download My App </a>

如果您在 iOS 设备上浏览到该网页,您应该能够安装 .ipa 文件。确保在 Xcode 的设备窗格打开的情况下将设备连接到机器。这将允许您在出现问题时查看控制台中的系统输出(您的 iOS 设备上的警报通常没有帮助)。

注意,另一种更方便的方法是设置 Xcode 机器人。也许您可以在一台机器上执行此操作,但我使用我仍然拥有的旧 MacBook 执行此操作。使用开发人员门户中的兑换代码下载 Xcode Server(免费)。启用 Xcode 服务器,然后从本地计算机设置机器人。这是迄今为止最方便的方式。

这是您需要制作的 .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>http://yourWebSite.com/youripaFileName.ipa</string> // change this
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>yourBundleID</string> // change this
                <key>bundle-version</key>
                <string>yourApplicationVersion</string> // change this
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>yourAlertTitle</string> // change this
            </dict>
        </dict>
    </array>
</dict>
</plist>

【讨论】:

我有上面的设置并且文件在我的服务器上。单击链接时,我得到“无法安装应用程序”。如果我将手机插入我的 Mac 到 Xcodes 设备窗格,然后尝试从链接安装应用程序,我仍然在日志中一无所获。 .plist 上的 .ipa 文件的 url 应该使用 https 吗? 啊,是的,忘了提一下,您指向 .ipa 的链接和指向 .plist 的链接必须是 HTTPS。我会更新我的答案。 我能够安装该应用程序。感谢您的帮助!【参考方案2】:

    清理构建文件夹。转到产品菜单并从子菜单中选择存档。让归档过程完成。一旦完成,从屏幕菜单中选择导出选项。

    选择save for development deployment方法导出ipa文件。

    选择您的配置文件和创建配置文件时使用的帐户。

    选择为所有兼容设备导出一个应用选项

    在摘要屏幕中,验证正确的配置文件和权利是否已添加到存档文件中。点击下一个选项

    最后将 ipa 文件保存到桌面或您需要的任何其他文件夹。

    将.ipa文件上传到https://www.diawi.com/并获取安装链接

【讨论】:

虽然7 点在技术上为 OP 的最后一个问题提供了答案,但我认为思路是这将是“最后的手段”。我认为更直接地解决如何自己设置 OTA 下载的问题是 OP 所要求的。 @Jitendra 上面的安装对我有用。非常感谢! @Joride 感谢您的想法,我正试图在我的 OTA 设置中找到问题。

以上是关于iOS 以无线方式安装内部应用程序的主要内容,如果未能解决你的问题,请参考以下文章

IOS以无线方式安装企业内部应用(开发者)

内部 Apple Watch 应用程序开发和部署?

如何在设备上安装配置证书以使用企业 iOS 帐户进行 OTA(无线)应用程序分发

用于无线分发的 iOS4 企业应用程序

iOS 4:内部应用程序的无线应用程序分发 [关闭]

我如何在 ios 上无线部署?