iOS9.0 之后定位
1.前臺定位(相對于iOS8.0 前臺定位一樣,沒有變化)
1.創(chuàng)建位置管理者CLLocationManager
,并設置代理
2.開始定位,調(diào)用方法
locationM.startUpdatingLocation()
3.在CLLocationManagerDelegate
的代理方法中獲取用戶位置信息
4.主動請求前臺定位授權,
locationM.requestWhenInUseAuthorization()
5.在info.plist中填寫對應的key(一定要填key)
key :NSLocationWhenInUseUsageDescription
2.后臺定位
方案一:(需要在前臺定位基礎上,即先將上面5步做完)
效果:
- 當在后臺獲取到用戶的位置時,會在頂部顯示一個藍條,提醒用戶這個app在不斷的獲取你的位置信息
- 當用戶點擊了這個藍條,會打開對應的app
條件:(在前臺授權)
- 1.請求前臺定位授權,requestWhenInUseAuthorization()
- 2.需要開啟后臺模式 Location updates
- 3.
iOS9.0后增加操作
,設置屬性為true
設置allowsBackgroundLocationUpdates
屬性為true
if #available(iOS 9.0, *) {
locationM.allowsBackgroundLocationUpdates = true
}
方案二:(方案二和iOS8.0 一樣)
- 效果: 無論是否勾選后臺模式, 都可以獲取位置信息. 而且無論前后臺, 都不會出現(xiàn)藍條
條件:
1.開啟前后臺定位授權,調(diào)用函數(shù) requestAlwaysAuthorization()
-
2.在info.plist中填寫對應的key(一定要填key)
key :
NSLocationAlwaysUsageDescription
locationM.requestAlwaysAuthorization()
- 只要開啟前后臺定位授權,默認情況下, 就可以在后臺獲取用戶位置信息, 不需要勾選后臺模式location updates