我正在为客户维护一个iPhone应用程序。该应用程序不在后台运行(应用程序不在后台运行=设置plist中的YES)。但是,当用户暂时中断(例如通过电话呼叫)或应用程序存在时,用户需要注销。我目前在applicationWillResignActive中执行此操作:我首先考虑使用beginBackgroundTaskWithExpirationHandler,但后来注意到返回值始终是“UIBackgroundTaskInvalid”。我认为这是因为我无法在后台运行。那么问题是,我该如何处理退出?我是否应该同步注销并希望它按时完成(我想在10秒内完成?)。
起初我不知道这个beginBackgroundTaskWithExpirationHandler没有返回有效的后台任务标识符,并且应用程序正在退出。除了其中一个用户因“超出允许时间而有效断言”而崩溃时(在iPad 1上)。
其他人处理过这个问题吗?
答案 0 :(得分:0)
如果您的应用不是后台,那么您需要使用提供的-applicationWillTerminate:
方法进行注销。因为这是在中断或应用程序关闭时将被调用的内容。
- (void)applicationWillTerminate:(UIApplication *)application {
/*
Called when the application is about to terminate.
Save data if appropriate.
*/
}