【发布时间】:2018-05-05 06:02:13
【问题描述】:
我的应用最近被拒绝,因为该应用在 Beta 测试人员启动时崩溃,但在开发配置文件中运行它时不会发生这种情况。我可以知道这个崩溃日志的含义是什么时候以及如何解决它吗?
指南 2.1 - 性能 - 应用完整性 我们无法审核您的应用,因为它在启动时崩溃。我们附上了详细的崩溃日志以帮助解决此问题。
异常类型:EXC_CRASH (SIGKILL) 异常代码: 0x0000000000000000, 0x0000000000000000 异常说明: EXC_CORPSE_NOTIFY 终止原因:命名空间 SPRINGBOARD,代码 0x8badf00d 终止说明:SPRINGBOARD,场景创建看门狗 违规:com.app.appname 用尽了真实(挂钟)时间 允许 19.03 秒 | | ProcessVisibility:前景 | 进程状态:正在运行 | WatchdogEvent: 场景创建 | 看门狗可见性:前景 | WatchdogCPUStatistics: ( | "Elapsed 总 CPU 时间(秒):25.420(用户 25.420,系统 0.000),42% CPU", | "经过的应用程序 CPU 时间(秒):1.125, 2% CPU" | ) 线程触发:0
【问题讨论】:
-
你能告诉我们你在
application(_:didFinishLaunchingWithOptions:)方法中做了什么吗?如果看门狗抱怨它,那一定是一个非常混乱的问题。 -
我也有类似的问题。该应用程序在模拟器上运行,但在 iPad(iOS 12 和 12.01)的启动屏幕上挂起。它甚至没有达到
application:didFinishLaunchingWithOptions:。 CPU 空闲。从 Xcode 启动时,它会无限期地挂起。从设备启动时,它会在 20 秒后因上述错误而被杀死。 -
在我的情况下,问题是由于在启动时运行的类别上的
initialize方法。该方法调用了[NSLocale currentLocale],这似乎导致了死锁,大概是因为此时设备上的语言环境不可用,但在模拟器上。