Swift Beacon

如何實踐一個Beacon的偵測sampleCode?

首先要知道的是,用到Beacon可能是為了想知道位置

對於要取得使用者的位置,會使用到CoreLocationManager

因此新增一個空白專案後,首先先為專案新增Framework

Swift Beacon_第1张图片

加入之後,在程式中import CoreLocation

如此便可以使用CLLocationManager囉

並為Class加入CLLocationManagerDelegate的Delegate

let locationManager = CLLocationManager()

Swift Beacon_第2张图片

當然也不能忘記加入delegate

locationManager.delegate = self


再來則是要跟使用者拿位置,是需要使用者同意的,所以我們必須去Plist文件中新增

"NSLocationAlwaysUsageDescription"

Swift Beacon_第3张图片

後面帶的文字內容是指app啟動後,會跳出alert請求使用者給予權限,而後面帶的文字內容就是alertController的內文

向使用者要求權限有兩種方式

其一為上述的"NSLocationAlwaysUsageDescription"

另一個則為"NSLocationWhenInUseUsageDescription"

兩者的差異為

NSLocationAlwaysUsageDescription  在背景時,也會追縱

NSLocationWhenInUseUsageDescription  則是app執行時才會追縱

因此兩者可一擇一使用。

我希望我的app在背景時,也能夠偵測到使用者遇到哪一顆beacon,

因此採用的是NSLocationAlwaysUsageDescription

在Plist加了要求之後,對應plist加的請求,也應該在程式內加入以下程式

locationManager.requestAlwaysAuthorization()

locationManager.requestWhenInUseAuthorization()

同字面上的瞭解

requestAlwaysAuthorization() 對應的是NSLocationAlwaysUsageDescription

requestWhenInUseAuthorization則為NSLocationWhenInUseUsageDescription




先暫時這樣QQ

你可能感兴趣的:(Swift Beacon)