Hap*_*Pig 0 iphone crash core-data multitasking ipad
我有一个应用程序,使用Core Data开始导入数据.在应用程序的这一部分中,我通过在设置标志时调用applicationDidEnterBackground中的exit(0)来禁用恢复(多任务处理).例如:
-(void)applicationDidEnterBackground:(UIApplication *)application {
if (allowResuming==NO){
NSLog(@"Terminating...");
exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在按下主页按钮后11秒内尝试"恢复"应用程序(通过按下其图标)(因此,已经调用退出(0)),应用程序崩溃.在通过调试器运行时不会发生这种情况,但是崩溃日志表明应用程序正在尝试从中断处继续数据导入,这当然不是我想要的.
在此次崩溃之后(即在一秒钟内)尝试再次"恢复"应用程序是成功的.
如果我试图在11秒后'恢复'应用程序,那很好.
如果有人有任何想法和/或能指出我正确的方向,我将非常感激.
我认为你不应该这样做exit(0).要禁用多任务处理,请将UIApplicationExitsOnSuspendInfo.plist中的密钥设置为YES.有关详细信息,请参见选择退出后台执行的,在
http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/CoreApplication/CoreApplication.html#//apple_ref/doc/uid/TP40007072 -CH3-SW1.
要丢弃应用程序离开前台时完成的部分工作,请为其添加一个侦听器UIApplicationWillResignActiveNotification or UIApplicationDidEnterBackgroundNotification.在处理程序方法中,您可以执行以下操作:
[self discardPartialWorkDone];
Run Code Online (Sandbox Code Playgroud)
HTH,
阿克沙伊