在iOS6上从后台返回应用程序后崩溃

问题描述:

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

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 

任何人都遇到类似的问题,或有任何想法可能发生?

+0

什么是在应用程序去背景下正在处理(在代码中)? – samfisher

如果您不使用ARC,那么发送消息时发生的事情很可能是问题。几乎所有已发布的iOS版本都暴露了一些始终存在的bug,但出于某种原因,这些bug直到新版本才出现。

在调试器中运行,并查看崩溃处的某个级别附近的所有代码,以查找某个对象没有保留的或者您虽然是但不是的对象。

您的应用程序正在崩溃,或者确实被WatchDog强制退出,因为该应用程序在第二个窗口中没有响应。这意味着您的应用启动时间过长,这可能是由于呼叫在iOS 6上停滞不前,或者由于某种原因iOS 6设备运行速度稍微慢一些。使用Time Profiler工具查看您的启动时间,并确保applicationDidFinishLaunching:尽快返回,大多数WatchDog崩溃的情况都是由于该方法中的挂断。