【问题标题】:My app won't start on an iOS device (exported .ipa)我的应用无法在 iOS 设备上启动(导出的 .ipa)
【发布时间】:2019-11-21 02:54:36
【问题描述】:

我在 Xcode 10 中使用 Swift 5 创建了一个应用,并将多个 iOS 设备的 UDID 添加到我的开发者帐户中(获得了 99 美元)。

如果我通过 Xcode 在设备上安装我的应用程序,我可以启动该应用程序,它有一个图标并且一切正常。

我还将应用程序导出为 .ipa 文件:

  1. 在 Xcode 中选择“通用 iOS 设备”(左上角)
  2. 创建存档(产品 - 存档)
  3. 打开档案列表(窗口 - 管理器)
  4. 突出显示刚刚创建的存档并单击“分发应用程序”
    • iOS 应用商店 - 下一个
    • 导出 - 下一步
    • 选中两个选项(包括位码、上传应用程序符号)- 下一步
    • 自动管理签名 - 下一步
    • 两次输入 Mac 帐户的密码
    • 在“查看 myapp.ipa 内容”屏幕上单击“导出”
    • 选择文件夹“导出为”并点击“导出”
  5. 将 iOS 设备连接到 Mac/PC -> iTunes 打开
  6. 点击下拉菜单(音乐、电影等)旁边的“iPhone”图标以查看设备上的文件
  7. 将导出的 .ipa 从 finder/explorer 拖到左侧(如 here 所示)-> iTunes 在 iOS 设备上安装应用程序。

该应用程序确实显示在主屏幕上,但它只有一个较暗版本的默认白色/灰色图标(如果我通过 Xcode 安装,它使用实际图标),如果我按下它,图标“摆动" 一次,但应用程序无法打开。没有错误消息或任何指示出了什么问题。

该应用不在“当前运行的应用”列表中(按两次主页按钮)。

我将“构建配置”(编辑方案 - 运行 - 信息)从“调试”更改为“发布”(建议 here),但这也没有帮助。

我在导出时是否遗漏了什么?如何让应用启动?

【问题讨论】:

  • 您必须配置您的 Xcode 设置以使用 Ad Hoc 配置文件。这看起来像是一个很好的分步说明(我已经很久没有使用 Ad Hoc 分发版进行测试了,但是这个链接是在 6 个月前更新的,所以它看起来是最新的):coderwall.com/p/r5jzzw/…
  • 感谢您的链接,该选项现在简称为“Ad Hoc”。我还发现了this 帖子,它实际上适用于该选项,这很奇怪,因为到目前为止我发现的所有其他帖子都建议使用“iOS App Store”(例如我使用的 Xcode 10 here 的指南) .那你知道“iOS App Store”导出是做什么用的吗?
  • Exporting for "iOS App Store" 是您想要将您的应用提交到 App Store 的时候。当您不能(或不想)使用 TestFlight 时,“Ad Hoc”导出用于在其他设备上进行测试。
  • “iOS App Store”为您提供了两个选项:1. 上传,2. 导出,导出一个 .ipa 文件。如果 .ipa 文件显然不能正常工作,那么第二个选项用于什么?您是否必须将此 .ipa 发送给 Apple,以便他们批准,并且“上传”仅用于更新商店中已有的应用程序?
  • 您可以通过自动化工具将其导出以供 App Store 提交 - 这通常在公司环境中完成(多个开发人员、多个应用程序、CI / CD [持续集成/持续交付] 等)。如果您不这样做,您可以通过 Xcode 提交应用程序。可能值得您花时间阅读help.apple.com/app-store-connect

标签: ios xcode ipa


【解决方案1】:

您可以通过自动化工具将其导出以供 App Store 提交 - 这通常在公司环境中完成(多个开发人员、多个应用程序、CI/CD [持续集成/持续交付] 等)。

如果您不这样做,您可以通过 Xcode 提交应用程序。

可能值得您花时间阅读https://help.apple.com/app-store-connect/

【讨论】:

  • 我更多的是谈论“Ad Hoc”部分,这是解决问题的选项。 ;)
  • @Neph - 这不是一个编码问题,因此甚至不属于这里。由于仍然缺乏明确性,我建议您直接删除问题。
  • 虽然导出 .ipa 文件(提供给测试人员)通常不涉及直接编码(仅使用 Xcode),但它仍然是应用程序开发的重要组成部分,并且包含有关它在 Stackexchange 上只是错误的(他们告诉你使用“iOS App Store”来获取 .ipa 文件),在这里也有正确的答案很重要。我的问题 (Did I miss anything while exporting [the .ipa]?) 的答案是:Use "Ad Hoc", not "iOS App Store to get an .ipa file you can send to testers."
【解决方案2】:

问题是由选择“iOS App Store”引起的。相反,正如@DonMag 指出的那样,如果您想导出可以拖入 iTunes 并安装在设备上的 .ipa 文件,则必须使用“Ad Hoc” - 只要您将设备的 UDID 添加到您的开发者帐户,当然。

第 1-3 步和第 5-7 步是相同的(与我的问题一样),但对于第 4 步,请改为:

  1. 突出显示刚刚创建的存档并单击“分发应用程序”
    • 特设 - 下一个
    • 下一步(分发选项)
    • 下一步(重新签署“myApp”)
    • 输入密码两次
    • 导出(查看 myApp.ipa 内容)
    • 选择文件夹 - 导出

【讨论】:

    猜你喜欢
    • 2013-12-22
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2019-11-03
    • 2011-09-14
    • 2017-03-08
    • 1970-01-01
    • 2013-08-02
    相关资源
    最近更新 更多