我正在爲用戶將應用程序發送到後臺或完全退出應用程序時添加一些通知。但是,當他們退出應用程序時,將調用方法applicationDidEnterBackground
和applicationWillTerminate
。爲什麼如此,以及如何在用戶退出應用程序時調用applicationWillTerminate
?applicationDidEnterBackground和applicationWillTerminate在用戶向上滑動時退出應用程序時調用
這是客觀-c,如果有人想知道。
我正在爲用戶將應用程序發送到後臺或完全退出應用程序時添加一些通知。但是,當他們退出應用程序時,將調用方法applicationDidEnterBackground
和applicationWillTerminate
。爲什麼如此,以及如何在用戶退出應用程序時調用applicationWillTerminate
?applicationDidEnterBackground和applicationWillTerminate在用戶向上滑動時退出應用程序時調用
這是客觀-c,如果有人想知道。
眼看applicationWillTerminate
被稱爲applicationDidEnterBackground
後,我決定成立1秒的notification.fireDate
從該applicationDidEnterBackground
被稱爲點。當調用applicationWillTerminate
時,它首先取消在applicationDidEnterBackground
內安排的通知。
僞代碼:
-applicationDidEnterBackground()
{
[self scheduleLocalNotificationAtTimeIntervalFromNow:1.0f identifier: @"someIdentifier"];
}
-applicationWillTerminate
{
[self cancelLocalNotificationWithIdentifier: @"someIdentifier"];
[self scheduleLocalNotificationAtTimeIntervalFromNow:0.0f identifier: @"irrelevantIdentifier"];
}
這種方法,雖然俗氣,但同時適合我的場景。比獲取didEnterBackground和willTerminate的通知更好。 – pnizzle
applicationWillTerminate
僅當應用程序在終止時未處於掛起狀態時纔會調用方法。
以下鏈接可以幫助你 -
我已經測試過這種現象,因爲在我看來,一個新的,乾淨的項目。我有同樣的經歷。所以它與我的代碼無關。 – pnizzle