iOS 无线安装内部应用程序

iOS install in-house app wirelessly

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

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

我的 iOS 开发者计划不是企业版,它是普通的开发者计划(99 美元)。

我可以使用无线安装吗? http://help.apple.com/deployment/ios/#/apda0e3426d7 我的应用程序是使用 "Development" 配置文件构建的,而不是 "In House" 配置文件。文档说它必须使用内部配置文件构建。我的 Developer Program 界面中没有内部选项。

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

  1. Clean build folder. Go to Product Menu and Select Archive from the submenu. Let the process of archiving complete. Once it will get complete select export option from screen menu.

  2. Select save for development deployment method to export the ipa file.

  3. Chooose your provision profile and account that was used when you created the provision profile.

  4. Choose Export one app for all compatible devices option

  5. In the summary screen verify the correct provision profile and entitlement has been added to archived file. Click next option

  6. Finally save the ipa file to desktop or any other folder where you need it.

  7. Upload the .ipa file to https://www.diawi.com/ and get the installation link

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

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

  • 为内部分发创建一个 .ipa(这将确保配置文件包含在包中,从而允许列出的设备实际安装它)
  • 创建一个包含有关应用程序信息的 .plist 文件和一个 URL 到 .ipa 文件(见下文)。其中包含的.ipa的link需要是HTTPS。
  • 创建一个 .html 文件,该文件具有特殊格式的 link(也需要是 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 服务器(免费)。启用 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>