張貼日期:2013/12/17 上午 09:22:00
記錄一下 :iOS ver, iOS 7.0.4
iBeacon background 是可以跑的.前提是 user 曾經打開過 app,而且沒有完整地把 app 關掉. 重開機會將 app 完整關掉.
一個簡單的方法可以判斷是否 iBeacon 的感測有沒有在運作,就是看 iPhone 右上角的 location indicator.
如果這個標誌還在,那麼OS會繼續 scan iBeacon.
如果這個 location indicator 是實心的,如上圖,則代表目前 OS 對於 iBeacon 的 scan 是 active 的,此時將 iBeacon 上電或者斷電,不管螢幕是否點亮,OS 都會很即時的感應到,並且發出 notification.
而放了一陣子之後,OS 為了省電,會將這個 indicator 切為 lazy mode, 變為空心的,如下圖 :
此時,OS 會有他自己 scan iBeacon 的時間間隔機制,會變得不敏感。當 location indicator 為空心時,最多可以花上 15 分鐘才 scan 一次,看 OS 心情。然而以我自己的測試結果,大概 3 min ~ 5 min 會有反應。
至於螢幕打開或關上,scan 時間基本上沒有分別,單純是看上述 location indicator 是空心還是實心。
但是 developer 可以在程式中設定,使得螢幕由暗被點亮時,強制使 OS scan 一次。簡言之,使用者將螢幕點亮時,也是一次 scan 的點。
有人也做了實驗,在這 :
http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html