我已經開發iBeacon顯示應用。當應用程序處於後臺模式並且我進入信標區域時,觸發UILocalNotification。但事情是,如果我殺了應用程序的通知仍然觸發。當應用程序處於後臺時,我使用locationMgr.RequestAlwaysAuthorization();
來捕獲位置更改。我已經寫了背景安全的任務,以擴大我在iPhone上的背景時間。防止UILocalNotifications當應用程序被殺害
我曾嘗試使用UIApplication.SharedApplication.ApplicationState
但是當應用程序在後臺只,而不是終止它返回true。
我使用locationMgr.RequestAlwaysAuthorization();
,因爲DidEnterRegion
僅在位置設置爲時才被調用總是。
一句話我正在尋找解決方案如何監控EnterRegion & ExitRegion只在後臺和活動模式。 沒有當應用程序被殺害
我試着在AppDelegate的applicationWillTerminate方法中將靜態屬性設置爲true,然後在我的方法中檢查它是否屬實,但它仍然是false.Weird,但似乎'applicationWillTerminate'沒有被調用。 –
用什麼方法?叫什麼時候?除非你從'applicationWillTerminate'調用它,否則它將永遠不會是真的,因爲當時應用程序已經退出。您需要將其保存到某些永久存儲器(例如'NSUserDefaults',一個文件,核心數據...)。您可以通過在那裏添加一個日誌並檢查設備的日誌來檢查是否調用了「applicationWillTerminate」。請注意,如果您從Xcode停止該應用程序,該應用程序將立即終止,並且'applicationWillTerminate'確實不會被調用。 – jcaron
請注意,如果iOS在您的應用程序未運行時終止,即它處於「暫停」狀態,則不會調用「applicationWillTerminate」。如果它不處於掛起狀態,即在後臺運行,則iOS將不願意終止它,除非它已經終止了所有掛起的應用程序,並且仍然需要更多的內存。 *長話短說*,'applicationWillTerminate'幾乎肯定不是你的問題的答案。 – heypiotr