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.pas(TUIDevice / UIUserInterfaceIdiomPad 参考),
iOSapi.UIKit.pas(UIUserInterfaceIdiomPhone 参考),
FMX.Platform.iOS.pas(UIUserInterfaceIdiomPad 参考),
仔细检查它们是否可以避免。
【讨论】:
如果这对您有帮助,请支持@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 错误地认为我们的应用已针对许多额外语言进行了本地化?