我正在開發iOS應用程序來監視iBeacons。它在前景和背景中運作良好。即使屏幕關閉,我也需要它來保持監視。現在我的問題是,當我用肩按鈕關閉屏幕時,NSLog顯示相應的iBeacon信號熄滅(RSSI = 0,beacon.accuracy = -1.0),10秒鐘後,根本沒有找到信標,而連續調用委託方法locationManager:didRangeBeacons:inRegion:。看起來,該應用程序正在運行時,屏幕關閉,但iOS關閉iBeacon範圍的位置服務。我試圖設置「locationManager.pausesLocationUpdatesAutomatically = NO;」但仍然不起作用。有沒有關於這個問題的建議?提前致謝。如何在iOS屏幕關閉時繼續監控iBeacon?
1
A
回答
0
看來你在做範圍而不是監測。測距僅適用於應用程序處於活動狀態時 - 無論是在前景還是在後臺。值得注意的是,iOS會自動讓應用程序在離開它幾秒鐘後進入睡眠狀態,或者鎖定屏幕。
你必須記住的是,在iOS上真的沒有「永久背景狀態」這樣的東西。應用程序在後臺運行一段有限的時間,同時轉換到掛起狀態(以允許它們完成上傳/下載),並且還有後臺模式,有時會使應用程序在後臺運行,但通常會保留這些模式對於非常特定的應用程序 - 例如,「音頻」後臺模式意味着只要播放音樂等,應用程序就可以在後臺運行。有一種用於「位置」服務的後臺模式,但它保留用於逐行轉換,轉動導航應用。
信標監控然而,即使您的應用程序進入睡眠狀態,或者由於內存壓力而被iOS終止,它仍會繼續運行。當您進入或離開信標範圍時,iOS會將您的應用程序啓動到後臺來處理事件,並給它幾秒鐘的時間(您可以使用Background Execution Task延長几分鐘)來完成此事(您可以在那段時間內),但隨後又回到了睡眠狀態。
你可能也想看看這個問題:
Receive signal from beacon while app is in the background
相關問題
- 1. 如何在屏幕關閉時檢測iOS應用程序中的iBeacon?
- 2. 檢測iOS UICollectionCell何時關閉屏幕
- 3. 屏幕關閉時WinRT應用程序能繼續運行嗎?
- 4. 屏幕關閉時繼續接收數據包
- 5. iOS關閉屏幕iPad
- 6. 如何在使用GNU屏幕時關閉emacs(或vi)後關閉屏幕?
- 7. ios如何在用戶單擊按鈕時關閉屏幕
- 8. 當屏幕關閉時服務關閉
- 9. Angular JS - iOS 8 - iPad Air:全屏應用繼續關閉
- 10. iPhone:屏幕關閉時背景音樂停止,屏幕開啓時不會繼續播放?
- 11. 的DrawImage時關閉屏幕
- 12. 檢查時,屏幕關閉
- 13. 關閉屏幕
- 14. Android - 在屏幕關閉或屏幕超時時關閉應用程序
- 15. iOS如何點擊屏幕以繼續顯示default.png
- 16. 關閉Fabric實時監控
- 17. 如何在屏幕鎖定時繼續播放html5音頻?
- 18. 在監控ibeacon時替代didexitregion
- 19. 關閉睡眠後關閉屏幕並在屏幕上打開
- 20. 如何在windows phone中關閉屏幕?
- 21. 如何在遊戲關閉時繼續倒數計時器?
- 22. iOS:滑動UIView開啓/關閉屏幕
- 23. 以編程方式關閉iOS屏幕
- 24. 當關閉屏幕時Android音量按鈕監聽器
- 25. 需要android設備設置屏幕關閉超時監聽器
- 26. Dialog在屏幕旋轉時關閉android
- 27. OnPause在屏幕關閉時返回NullPointerException
- 28. 而屏幕關閉
- 29. Android關閉屏幕
- 30. 關閉屏幕CGRect
嘗試設置此locationManager.allowsBackgroundLocationUpdates = YES;這是iOS 9必需的 –
這聽起來不正常。你可以在第二個iOS設備上重現這種行爲嗎? – davidgyoung
我試過「locationManager.allowsBackgroundLocationUpdates = YES;」剛纔,仍然不起作用。我的設備上的iOS版本是9.2。 – kuang