2017-02-16 157 views
0

看起來我沒有在應用程序處於後臺時收到delegate方法的通知。一旦應用程序進入前臺,我確實得到了didChangeAuthorizationStatus。其他人是否已成功獲取背景中的authorizationStatuslocationmanager didchangeauthorizationstatus在後臺沒有調用

順便說一句,其他delegate方法在後臺工作,所以我知道我已經在info.plist設置正確的屬性。

+0

你有什麼問題?你的應用不會在後臺運行,那麼爲什麼直到你處於前臺才能得到通知呢?無論如何,這是您的應用程序實際上可以做任何事情的第一時刻。 – matt

+0

Matt,我正在後臺收集位置更新並記錄下來。如果用戶已關閉位置,我想記錄它。 – user7143420

回答

1

即使它在委託類didChangeAuthorization只調用在以下兩個條件都爲真:

  • 用戶改變應用的位置信息服務的授權狀態
  • 應用程序調用requestWhenInUseAuthorization()或requestAlwaysAuthorization()

它不會響應用戶更改設置應用程序中的設置而從後臺調用,更改設置不會導致iOS喚醒您的應用程序。如果用戶更改設置,則應用程序將停止接收位置更新,直到下次應用程序處於前景時纔會知道原因。

+0

在文檔中是否有這種行爲的證據?我有同樣的觀察結果,但不確定是否只有這樣才能使didChangeAuthorization正常工作 –

相關問題