我有一个在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
任何遇到类似问题的人,或者知道可能发生的事情?
答案 0 :(得分:0)
如果您不使用ARC,则很可能是您发送消息的问题。几乎所有已经发布的iOS版本都暴露了一些总是存在的错误,但无论出于何种原因,它都会在新版本之前浮出水面。
在调试器中运行并查看崩溃位置附近级别中的所有代码,这些代码类似于未保留的对象或您确实存在但未存在的对象。
答案 1 :(得分:0)
您的应用程序正在崩溃或被WatchDog强制退出,因为该应用程序在10秒窗口内没有响应。这意味着您的应用程序启动时间过长,这可能是由于iOS 6设备因为某种原因而导致运行速度稍慢的问题导致iOS 6设备停滞不前。使用Time Profiler工具查看启动时间的位置并确保applicationDidFinishLaunching:尽快返回,大多数WatchDog崩溃的情况都是由于该方法中的挂起。