2011-12-15 58 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分鐘的限制來完成後臺任務(您會收到警告) - 否則您的應用將被終止。

您是否考慮將數據拆分爲更小的塊並記錄進度?

相關問題