我的应用程序,因为自动锁定设置时间的崩溃是2分钟,我的网络serevice需要时间超过2分钟或更长。 如果时间推移超过2分钟,然后我的应用程序崩溃每次。由于iPhone中的自动锁定导致应用程序崩溃?
但我不想将自动锁定时间设置为15分钟或从不设置。 我想在应用程序内部提供一些解决方案而无需更改设置值。
请让我知道是否有人知道解决方案,以避免崩溃。
谢谢你。
我的应用程序,因为自动锁定设置时间的崩溃是2分钟,我的网络serevice需要时间超过2分钟或更长。 如果时间推移超过2分钟,然后我的应用程序崩溃每次。由于iPhone中的自动锁定导致应用程序崩溃?
但我不想将自动锁定时间设置为15分钟或从不设置。 我想在应用程序内部提供一些解决方案而无需更改设置值。
请让我知道是否有人知道解决方案,以避免崩溃。
谢谢你。
您可以暂时关闭自动锁定,直到请求完成,即设置[UIApplication sharedApplication].idleTimerDisabled
至YES
。
另一种方法是将您的Web服务请求设置为finite-length task running in background,因此即使您的设备进入睡眠状态,请求也会继续运行。不过要注意10分钟的时间限制。
无论哪种方式,当在前台运行时,请确保请求是异步完成的,并且不会阻塞主线程,否则您的应用程序在执行该操作太久之后总会被杀死。
如何当你的应用程序进入后台/检测不活动
- (void)applicationWillResignActive:(UIApplication *)application
,并使用任务完成机制 - 看看这个问题:How to implement Task completion
作为一个侧面说明,有10分钟的限制来完成后台任务(您会收到警告) - 否则您的应用将被终止。
您是否考虑将数据拆分为更小的块并记录进度?
2分钟的要求是非常高的时候......你能不能尝试将其分成不同的通话? (另一件事:我不知道你的应用程序,但如果一个应用程序“冻结”2分钟,我将它关闭。) – 2011-12-15 14:16:05