2015-06-19 40 views
0

我想知道在AppDelegate中哪個事件被調用時,我從應用程序切換器中掃出正在運行的應用程序?我的目標iOS是> = 7.0(即支持多任務處理)。iOS應用程序從應用程序切換器中被刷新時,哪個事件被調用?

也許我只是不明白多任務範式本身......當我從應用程序切換器中掃出我的應用程序時,應用程序將被終止,對吧?還是繼續在後臺運行?

編輯-1:爲什麼我問:在應用程序啓動時,我用普通插座連接到我的Linux遊戲服務器。我想在應用程序終止時斷開連接。

EDIT-2:我不確定我是否使用後臺執行。我在運行循環對象中註冊我的網絡套接字以異步接收來自服務器套接字的輸入。此外,我還安裝了一種網絡服務,可以定期測試網絡連接。此服務正在使用SCNetworkReachabilityScheduleWithRunLoop。

回答

1

在有些情況下applicationWillTerminate:將被調用,有時並不情況。

更可以從Apple documentation here

摘錄讀了起來:

對於不支持後臺執行或鏈接 反對的iOS 3.x或更早的應用程序,這種方法總是調用時用戶 退出應用程序。對於支持後臺執行的應用程序,當用戶退出應用程序時,通常不會調用此方法 ,因爲在該情況下應用程序 只是移至背景。但是,在應用程序在後臺運行 (未掛起)且系統因某種原因需要終止該應用程序的情況下,可能調用此方法 。

什麼有趣的是,

調用此方法後,該應用程序還職位 UIApplicationWillTerminateNotification通知給有興趣的對象 有機會的過渡響應。

+0

我插入了一個斷點和一條日誌消息,但是這個方法在多任務(即iOS> = 4.0)環境中從來沒有被調用過......應用程序似乎在從應用切換器中刪除後繼續在後臺運行... – salocinx

+0

你在你的應用中使用後臺執行嗎?在那種情況下,它只會移動到前面提到的背景。更確切地說,在這裏分享你想要實現的目標是否可行?可能有其他解決方案。 –

+0

我編輯了原始問題來回答你的問題......順便說一句。謝謝你的幫助! – salocinx

1

是 - (空)applicationWillTerminate:(UIApplication的*)應用

+0

不在多任務iOS環境中不調用此方法,即使我將應用程序從應用程序切換器上滑過。它似乎繼續在後臺運行。 – salocinx

+0

@salocinx我已經測試了它的ios 9測試版,這是一個被稱爲 –

+0

好吧,似乎我正在使用後臺執行什麼阻止方法被稱爲...我不能upvote你的問題,直到你編輯任何東西。我很抱歉... – salocinx

相關問題