应用程序崩溃,因为iPhone中的自动locking?

我的应用程序正在崩溃,因为自动locking设置时间是2分钟,我的web服务器花费的时间超过2分钟。 如果时间超过2分钟,那么我的应用程序每次都会崩溃。

但我不想将自动locking时间设置为15分钟或从不设置。 我想要在应用程序内的一些解决scheme,而不改变设置值。

请让我知道是否有人知道解决scheme,以避免崩溃。

谢谢。

您可以临时closures自动locking,直到请求完成,即将[UIApplication sharedApplication].idleTimerDisabledYES

另一个select是将您的Web服务请求设置为在后台运行的有限长度的任务 ,因此即使您的设备进入睡眠状态,请求也会继续运行。 不过要注意10分钟的时间限制。

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

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

- (void)applicationWillResignActive:(UIApplication *)application

并使用任务完成机制 – 看看这个问题: 如何实现任务完成

作为一个方面说明,有一个10分钟的限制来完成后台任务(你得到一个警告) – 否则你的应用程序将被终止。

你有没有考虑把数据分成更小的块并跟踪进度?