Apple App Store 中的“应用程序在启动时崩溃”,但它在 Debug/Adhock 中运行良好?

Posted

技术标签:

【中文标题】Apple App Store 中的“应用程序在启动时崩溃”,但它在 Debug/Adhock 中运行良好?【英文标题】:"App is crashing on startup" in Apple App store, but it works fine in Debug/Adhock? 【发布时间】:2015-10-27 14:26:35 【问题描述】:

我有一个没有代码的空白应用程序。 我已经为它生成了相应的配置文件并将它们附加到它上面。 我已经设置了编译器选项 - 生成通用二进制文件。

我有 Mac OS X 10.11.1 (El Capitan)、XCode 7.1、ios SDK 9.1、Delphi 10 Seattle。 我正在 iPad 3 / iOS 9.1 和 iPhone 4 / iOS 7.1.2 上进行测试

当我尝试调试和 adhock 时 - 应用程序运行起来就像魅力一样,无论如何我的构建在 Apple Application Store 中被拒绝,原因是:

"2.1 详情

我们无法审核您的应用,因为它在启动时崩溃了。

接下来的步骤

请修改您的应用并在设备上对其进行测试,以确保其启动时不会崩溃。”

导致此问题的可能原因是什么?

【问题讨论】:

如果某个 Delphi 用户最近实际上传到应用商店的 iOS 9 应用已获批准 - 请分享您的配置。 他们给你发了崩溃报告吗? 我们也有类似的问题。 OSX 10.10.4 优胜美地。 Xcode 7.0.1。 iOS SDK 9.0。德尔福 10 西雅图。在装有 iOS 9.0.2 的 iPhone 4S 上进行测试。在调试中运行可以,但在发布配置中运行会导致应用程序在启动时崩溃。有趣的是,这款应用实际上就这样通过了 App Store Review。我们现在在 App Store 上有一个在启动时崩溃的应用程序。 OP 情况的另一个不同之处在于,一个新的空白多设备应用程序在我们的发布配置中运行良好。我们已经尝试重新创建项目文件,但没有区别。 我有类似的问题,它与证书有关,我必须安装 AppleWWDRCA 证书。 developer.apple.com/certificationauthority/AppleWWDRCA.cer 您的任何代码都可能是用 swift 编写的,您是否正在使用这样的宏检查 iPad? UI_USER_INTERFACE_IDIOM() 如果是这样,那么您需要更改该宏,因为已知它在使用发布版本(而非调试)运行时会立即导致崩溃 【参考方案1】:

事实证明@BinaryGuy 的提示是解决问题的方法。 如果开发人员使用一些包含指向它的链接的类,似乎 UI_USER_INTERFACE_IDIOM 会保留并链接到已编译的 IPA。

导致问题的类主要与 Apple 产品上以前可访问的硬件 ID 相关,现在这些类似乎已被弃用,并导致应用程序商店无故拒绝。

如果您正在使用以下 Delphi 单元,请:

FMX.Helpers.iOS.pasTUIDevice / UIUserInterfaceIdiomPad 参考),

iOSapi.UIKit.pasUIUserInterfaceIdiomPhone 参考),

FMX.Platform.iOS.pasUIUserInterfaceIdiomPad 参考),

仔细检查它们是否可以避免。

【讨论】:

如果这对您有帮助,请支持@BinaryGuy 在问题线程中的评论。谢谢你。 :)

以上是关于Apple App Store 中的“应用程序在启动时崩溃”,但它在 Debug/Adhock 中运行良好?的主要内容,如果未能解决你的问题,请参考以下文章

在 Apple Review 之前获取 App Store URL

提交至 Apple App Store:将品牌名称指定为个人开发者?

对于 Apple App Store,我可以选择与 App Store 上已有 App 相同的 App 名称吗?

Apple ResearchKit 中的额外本地化是不是会导致 iOS App Store 错误地认为我们的应用已针对许多额外语言进行了本地化?

Apple App Store 在 iOS 7 中未显示正确的图标

导出 Apple App Store 分析 [关闭]