2013-04-18 116 views
0

我的應用程序是用於Voip的,它可以在後臺運行。當它在後臺運行很長一段時間時,調用`application:didFinishLaunchingWithOptions:'方法,然後我的應用程序停止運行。我想知道:Whey一個voip應用程序在後臺運行,應用程序didFinishLaunchingWithOptions方法被調用了嗎?如果這個方法被調用,我應該怎麼做才能讓我的應用程序繼續運行?任何機構可以幫助嗎?謝謝...在什麼情況下,該應用程序:didFinishLaunchingWithOptions:被調用?

+1

PLZ顯示崩潰日誌.. – 2013-04-18 06:10:52

+0

我很抱歉,沒有崩潰日誌,當應用程序:didFinishLaunchingWithOptions:方法中回憶說,其他UIApplicationDelegate方法不被調用,它是如此奇怪... – foogry 2013-04-18 08:19:29

+0

它是否看到沒有崩潰日誌的模擬器?它很難找出沒有崩潰日誌.. – 2013-04-18 08:27:39

回答

0

我猜測,但我認爲你的應用程序可能會收到內存警告。並且application:didFinishLaunchingWithOptions:只對應用程序的每次運行調用一次。只需嘗試通過在應用程序委託中覆蓋- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application方法進行調查。這可能是崩潰的原因。

+0

這也許是原因,我會試一試,謝謝! – foogry 2013-04-18 08:48:27

0

VoIP應用程序在手機啓動時啓動。您將在啓動時看到您的應用在電話控制檯中啓動。如果您多次使用應用程序:didFinishLaunchingWithOptions的日誌調用,您的應用程序可能會崩潰或手機正在爲內存殺死它。如果您在plist中註冊爲voip應用程序,則可以調用setKeepAliveTimeout:handler:在applicationDidEnterBackground中每10分鐘(600s)運行一次SIP註冊。順便說一句,不要試圖保持應用程序:didFinishLaunchingWithOptions運行;我相信在iOS殺死你的應用之前它會獲得5秒的時間。

看提示制定的VoIP應用程序:https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

相關問題