iOS6后应用从后台返回后崩溃

3

我有一个应用程序,在iOS 5上运行良好,但在iOS 6上进行一些测试后,除了在返回到应用程序后它运行良好之外。一旦从后台返回,它就会无响应,然后大约10秒钟后崩溃。

WillEnterForeground()被执行得很好,而且只有一些简单的代码。

在手机上检查控制台,我看到以下内容:

Sep 20 16:41:07 Seans-iPhone-4 kernel[0] <Debug>: launchd[985] Builtin profile: container (sandbox)
Sep 20 16:41:07 Seans-iPhone-4 kernel[0] <Debug>: launchd[985] Container: /private/var/mobile/Applications/F73BBA70-90D1-4CB6-B7F3-FF10289396A9 (sandbox)
Sep 20 16:41:29 Seans-iPhone-4 backboardd[52] <Warning>: TrekkTrakker failed to resume in time
Sep 20 16:41:29 Seans-iPhone-4 backboardd[52] <Warning>: Forcing crash report of TrekTrakkerSimp[985]...
Sep 20 16:41:30 Seans-iPhone-4 backboardd[52] <Warning>: Finished crash reporting.
Sep 20 16:41:30 Seans-iPhone-4 com.apple.launchd[1] (UIKitApplication:TrekkTrakker[0x28c2][985]) <Notice>: (UIKitApplication:TrekkTrakker[0x28c2]) Exited: Killed: 9
Sep 20 16:41:30 Seans-iPhone-4 backboardd[52] <Warning>: Application 'UIKitApplication:TrekkTrakker[0x28c2]' exited abnormally with signal 9: Killed: 9
Sep 20 16:41:30 Seans-iPhone-4 ReportCrash[987] <Error>: libMobileGestalt copySystemVersionDictionaryValue: Could not lookup ReleaseType from system version dictionary
Sep 20 16:41:31 Seans-iPhone-4 ReportCrash[987] <Notice>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/TrekTrakkerSimple_2012-09-20-164129_Seans-iPhone-4.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

有没有遇到类似问题的人,或者有任何想法可以解决?


当应用程序进入后台时,正在处理什么内容(在代码中)? - Saurabh Passolia
2个回答

0

你的应用程序崩溃或被 WatchDog 强制退出,因为在 10 秒窗口内应用程序没有响应。这意味着你的应用程序启动时间太长了,可能是由于在 iOS 6 上卡住的调用,或者更有可能是 iOS 6 设备由于某种原因运行速度较慢。使用 Time Profiler 工具查看你的启动时间花费在哪里,并确保 applicationDidFinishLaunching: 尽快返回,大多数 WatchDog 崩溃都是由于该方法中的挂起引起的。


0

如果您没有使用ARC,那么很可能是由于释放了某个正在发送消息的对象而导致的问题。几乎每个发布的iOS版本都会暴露一些一直存在但由于某种原因未被发现的错误。

在调试器中运行,并查看所有与崩溃附近级别的代码,寻找像未被保留或者您认为已经被保留但实际上并没有的对象之类的愚蠢错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接