Ionic 3 - 无法在 iOS 上安装生产应用程序

Posted

技术标签:

【中文标题】Ionic 3 - 无法在 iOS 上安装生产应用程序【英文标题】:Ionic 3 - Can't install production app on iOS 【发布时间】:2017-07-23 23:26:22 【问题描述】:

我正在使用 ionic 包为 ios 构建我的应用程序。

https://docs.ionic.io/services/package/

我为开发和生产创建了证书,包括推送。

https://docs.ionic.io/services/profiles/

开发 - 使用 ionic 包成功构建,安装在 iOS 上没有问题。

生产 - 使用 ionic 包成功构建,当我尝试在 iOS 上安装它时,它开始正常安装应用程序,然后当几乎完成时应用程序消失并且最终没有安装,没有出现错误。

为什么会这样?

为了在我的设备上测试生产 .ipa,我正在通过 iTunes 软件安装它。 (我还没有在 App Store 中发布它)

开发 .ipa 也是如此,但对于这个,它是给定的。

我发现了这个旧问题,这表明它可能是由于捆绑包 ID 不匹配:

In-House App Disappears After Install

我应用的 config.xml 中的小部件 ID 与 Apple Developer 上的应用 ID 相同。

还有更多我不知道的地方应该是相同的吗?也许是我在创建证书时输入的信息?

我的最终目标是在 App Store 中发布这个应用程序,它不是内部应用程序 - 我这样说是为了避免混淆。

【问题讨论】:

您发现任何崩溃日志了吗? 无。我没有发布到应用商店,而是通过 iTunes 软件直接安装生产应用程序。也许这就是问题所在?或者它应该工作? 另外 - 当应用程序在运行时崩溃时会出现崩溃日志,在这种情况下,应用程序不会首先打开并运行,因为安装从未正确完成。您确定崩溃日志相关吗? 我唯一一次注意到与此类似的行为是由于我们使用的配置文件存在问题,也许此链接中的某些内容会有所帮助? diawi.com/knowledge-base/iOS/… "...如果您已将应用程序上传到 Diawi 并且无法在您的某些设备上安装它...您正在构建应用程序的发布版本" 我正在尝试构建一个App Store 的发布版本(生产),而不是 Diawi 的开发/内部版本 - 我不认为那篇文章涵盖了这一点,如果我错了,请纠正我。 【参考方案1】:

我在构建 iOS 应用程序时遇到了同样的问题,经过几项研究后,我得出了这个事实:

    当您准备生产版本(商店应用程序)时,它将无法安装在开发设备中。如果您需要在开发设备中测试该生产应用程序,您需要使用 ADhoc Provisioning Profile 构建应用程序。那么只有它能够让您安装在开发设备中。

    AdHOC 配置文件是一种分发配置文件,它允许您的应用安装在指定设备上并在没有 Xcode 帮助的情况下使用应用服务。它是您可以为应用程序创建的两种分发配置文件之一。 (您稍后使用其他类型的分发配置文件将您的应用提交到商店。)临时配置文件可确保您的应用的测试版本不会在您不知情的情况下被复制和分发。

当您准备好将应用分发给测试人员时,您可以创建一个临时配置文件,指定与您的一个或多个应用匹配的应用 ID、一组测试设备和一个分发证书。

App Store 版本的应用,顾名思义,仅在通过 App Store 分发时使用。它的存在是为了签署您的应用程序以通过 App Store 分发,并且不能用于任何其他目的。除非您通过 App Store 安装已由其签名的应用,否则它显然会失败。

如果您想在相对较短的时间内将应用程序分发给少数设备供内部使用,您应该使用 Ad Hoc 配置文件(我在上面解释过);如果要长期使用大量用户,则需要注册为企业开发人员并遵循不同的流程。

有关 Adhoc 的更多详细信息,请参阅以下链接:

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/TestingYouriOSApp/TestingYouriOSApp.html

【讨论】:

【参考方案2】:

您不能直接将生产版本安装到您​​的测试设备上,这违反了苹果的政策。

因此,为了做到这一点,您可以导出 Ad-hoc 构建,然后您可以安装到您的设备中,前提是该设备已包含在您的配置文件中。

临时构建的工作方式与生产构建相同,唯一的区别是您只能在该应用的配置文件中包含的设备上安装。

【讨论】:

【参考方案3】:

无法在移动设备上直接安装 Production iOS App。这只能通过 TestFlight 完成。下面的分步教程。

先决条件

    您的 Mobile App Prod 版本已准备就绪并已签名 您拥有装有 TestFligh 应用的 iOS 移动测试设备

一步一步

    在 MAC 打开 XCode -> 打开开发工具 -> 应用程序加载器 点击“选择”文件,从本地机器中选择您的构建文件并继续上传 应用上传后,它将在 iTunes Connect 控制台中可见(等到处理完成后再提交到 TestFlight) 完成后,在 iOS 移动设备上打开 TestFlight App 并下载您的新应用。

【讨论】:

以上是关于Ionic 3 - 无法在 iOS 上安装生产应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Ionic emulate ios:无法启动会话

在 IOS 上的 Ionic 3.9.2 中绑定文本/表单时无法滚动

Ionic 6 的生产网址是啥

IONIC 1 是不是支持 iOS12?

Ionic 2 无法使用 IOS 模拟器上资源中的音频文件

在 ionic 3 中,branch.io deeplink 无法按预期工作