2015-04-24 33 views
0

我試圖從iOS 7.1 +設備上的App Killed狀態檢測iBeacons。在某些設備上(不是特定的手機型號),該應用程序無故障運行。Inconsistant iBeacon檢測

但是在某些設備上,應用程序未檢測到信標。我仔細檢查了這些設備上的設置,例如位置服務,權限,後臺應用獲取,藍牙等。

我也啓用了「notifyEntryStateOnDisplay」。因此,我正在通過鎖定設備並將其重新打開進行測試。但是某些設備確實檢測到信標(電池已滿)。

我以爲「notifyEntryStateOnDisplay」會導致我每次打開設備時都會檢測到iBeacons。我在這裏錯過了什麼?

回答

0

notifyEntryStateOnDisplay選項旨在當用戶點擊肩按鈕打開顯示器時,爲您提供額外的didDetermineState:forRegion:回調。當手機首次啓動時,該回調可能不會發生。事實上,我的測試顯示CoreLocation在顯示器首次出現後的前60秒內甚至沒有活動。

幾件事情要檢查:

  1. 確保你的邏輯在裏面didDetermineState:forRegion:,而不是didEnterRegion:didExitRegion:

  2. 當您啓動時,請等待60秒鐘,然後按下肩膀按鈕並預期結果。

+0

這種行爲即使在啓動後也會發生嗎? – rustylepord

+0

是的,我的觀點是,使用'notifyEntryStateOnDisplay'啓動後無法立即檢測到。您必須等待CoreLocation啓動,啓動後大約需要多一分鐘。然後按下肩按鈕或主按鈕以照亮顯示屏應按照您的願望工作。 – davidgyoung

相關問題