2011-12-15 15 views
0

我的应用程序,因为自动锁定设置时间的崩溃是2分钟,我的网络serevice需要时间超过2分钟或更长。 如果时间推移超过2分钟,然后我的应用程序崩溃每次。由于iPhone中的自动锁定导致应用程序崩溃?

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

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

谢谢你。

+0

2分钟的要求是非常高的时候......你能不能尝试将其分成不同的通话? (另一件事:我不知道你的应用程序,但如果一个应用程序“冻结”2分钟,我将它关闭。) – 2011-12-15 14:16:05

回答

3

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

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

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

1

如何当你的应用程序进入后台/检测不活动

- (void)applicationWillResignActive:(UIApplication *)application

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

作为一个侧面说明,有10分钟的限制来完成后台任务(您会收到警告) - 否则您的应用将被终止。

您是否考虑将数据拆分为更小的块并记录进度?

相关问题