因iPhone中的自动锁定应用程序崩溃?

时间:2011-12-15 14:12:06

标签: iphone objective-c ios ipad

我的应用程序崩溃是因为自动锁定设置时间为2分钟,而我的网络服务时间超过2分钟。 如果时间超过2分钟,那么我的应用程序每次都会崩溃。

但我不想将自动锁定时间设置为15分钟或从不设置。 我想在应用程序中使用一些解决方案而不更改设置值。

如果有人知道避免崩溃的解决方案,请告诉我。

谢谢你。

2 个答案:

答案 0 :(得分:3)

您可以暂时关闭自动锁定,直到请求完成为止,即[UIApplication sharedApplication].idleTimerDisabled设置为YES

另一个选项是将您的Web服务请求设置为finite-length task running in background,因此即使您的设备进入休眠状态,该请求也会继续运行。请注意10分钟的时间限制。

无论哪种方式,当在前台运行时,请确保请求是异步完成的,并且不会阻止主线程,否则您的应用程序将在执行该操作太长时间后总是被杀死。

答案 1 :(得分:1)

如何检测您的应用何时进入后台/不活动

- (void)applicationWillResignActive:(UIApplication *)application

并使用任务完成机制 - 看一下这个问题:How to implement Task completion

作为附注,完成后台任务有10分钟的限制(你收到警告) - 否则你的应用程序将被终止。

您是否考虑将数据拆分为较小的块并跟踪进度?