如何實踐一個Beacon的偵測sampleCode?
首先要知道的是,用到Beacon可能是為了想知道位置
對於要取得使用者的位置,會使用到CoreLocationManager
因此新增一個空白專案後,首先先為專案新增Framework
加入之後,在程式中import CoreLocation
如此便可以使用CLLocationManager囉
並為Class加入CLLocationManagerDelegate的Delegate
let locationManager = CLLocationManager()
當然也不能忘記加入delegate
locationManager.delegate = self
再來則是要跟使用者拿位置,是需要使用者同意的,所以我們必須去Plist文件中新增
"NSLocationAlwaysUsageDescription"
後面帶的文字內容是指app啟動後,會跳出alert請求使用者給予權限,而後面帶的文字內容就是alertController的內文
向使用者要求權限有兩種方式
其一為上述的"NSLocationAlwaysUsageDescription"
另一個則為"NSLocationWhenInUseUsageDescription"
兩者的差異為
NSLocationAlwaysUsageDescription 在背景時,也會追縱
NSLocationWhenInUseUsageDescription 則是app執行時才會追縱
因此兩者可一擇一使用。
我希望我的app在背景時,也能夠偵測到使用者遇到哪一顆beacon,
因此採用的是NSLocationAlwaysUsageDescription
在Plist加了要求之後,對應plist加的請求,也應該在程式內加入以下程式
locationManager.requestAlwaysAuthorization()
locationManager.requestWhenInUseAuthorization()
同字面上的瞭解
requestAlwaysAuthorization() 對應的是NSLocationAlwaysUsageDescription
requestWhenInUseAuthorization則為NSLocationWhenInUseUsageDescription
先暫時這樣QQ