2013-09-29 27 views
1

我有一個CLLocationManager包含在singleton中,我添加了十幾個區域進行監控。當應用處於前景/背景時,我會成功通知邊界過境點。但是,當我強制退出應用程序時,位置圖標消失,我沒有得到任何回調。監控區域,但位置圖標在應用程序死亡時消失

+0

請提供一個簡短的,獨立的,正確的例子。 – allcaps

+0

您需要發佈圍繞您的地區添加,背景和地區進入/退出事件的代碼。 –

+1

這個問題實際上並不侷限於我的應用程序。我已經使用一個乾淨的應用程序與一個位置管理器以及Apple自己的提醒應用程序進行了測試。在每種情況下,當強制退出應用程序時,位置圖標消失。我已經測試了相同的位置提醒並排的iPhone 5手機,每個手機都運行iOS7。在後臺運行提醒應用程序的電話會在邊界交叉處發送提醒。具有終止提醒應用程序的電話不會。這是一個iOS7的錯誤還是誤解了預期的功能? – MattDiep

回答

2

據我所見,這是iOS7的預期功能。這裏是一個答覆,我發現類似的問題,在這種情況下,涉及顯著位置的變化:https://devforums.apple.com/message/882691#882691

如果用戶在應用程序切換器刷卡了,則OS將無法啓動應用程序,除非明確告知這樣做由用戶。所以不,SLC不會啓動應用程序,也不會發出無聲的通知。在這一點上啓動應用程序的唯一方法是用戶點擊圖標。這裏的意圖是用戶已經表達了他們選擇不出於任何原因再運行該應用,所以我們尊重這一點。 在這種情況下,你確實無能爲力。下次用戶啓動應用程序時,您可以讓他們知道某些數據可能會丟失,但您確實無法分辨是否缺少數據(即,您可能已被操作系統殺死,並且用戶可能會沒有移動,因此沒有觸發任何SLC通知)。我的建議是收集您可以在操作系統政策中獲得的數據,並且如果用戶手動殺死了應用程序,那麼尊重該願望並且不做任何事情。 不論如何,如果這種行爲變化導致您的問題或(特別是)讓用戶感到困惑,請隨時提交錯誤報告。

+0

那麼,當應用程序被殺後,沒有辦法獲取用戶的位置? –

相關問題