iOS iOS9.0 的CoreLocation定位

一、簡介

  • iOS9.0如果當(dāng)前處于前臺授權(quán)狀態(tài),默認(rèn)是不可以后臺獲取用戶位置。
    • 如果在前臺授權(quán)下,讓其能獲取到后臺定位,該怎么辦
      • 可以設(shè)置以下屬性為YES,就可以繼續(xù)獲取后臺位置,但是會出現(xiàn)藍(lán)條
      • 使用注意:必須設(shè)置對應(yīng)的后臺模式,勾選后臺模式:location updates

@property(assign,nonatomic) BOOL allowsBackgroundLocationUpdates

+ 注意:iOS9.0 可以單次請求用戶位置

```objc
- (void)requestLocation  
// 成功調(diào)用,locations位置數(shù)組,元素按照時間排序
-(void)locationManager:(nonnull CLLocationManager *)manager didUpdateLocations:(nonnull NSArray<CLLocation *> *)locations 
// 失敗調(diào)用
-(void)locationManager:(nonnull CLLocationManager *)manager didFailWithError:(nonnull NSError *)error 
  • requestLocation 作用:
    • 按照定位精確度從低到高進(jìn)行排序,逐個進(jìn)行定位。如果獲取到的位置不是精確度最高的那個,也會在定位超時后,通過代理告訴外界(必須實現(xiàn)代理的-locationManager:didFailWithError:方法)
  • 不能與startUpdatingLocation方法同時使用

二、實現(xiàn)步驟

1、 前臺定位

  • 1.導(dǎo)入CoreLocation框架和對應(yīng)的主頭文件
     #import <CoreLocation/CoreLocation.h>
    
  • 創(chuàng)建CLLcationManager對象,并設(shè)置代理 請求前臺定位授權(quán),并配置KEY


    配置KEY .png
 _locationM = [[CLLocationManager alloc] init];
   _locationM.delegate = self;
   if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) 
       {
           [_locationM requestWhenInUseAuthorization];
       }
  • 3.調(diào)用CLLcationManager對象的startUpdatingLocation方法進(jìn)行更新用戶位置
 [_locationM startUpdatingLocation];
  • 4.實現(xiàn)代理方法,接收位置參數(shù)
-(void)locationManager:(nonnull CLLocationManager *)manager didUpdateLocations:(nonnull NSArray<CLLocation *> *)locations

2、后臺定位

  • 方案一:在APP處于前臺定位授權(quán)場景下,勾選后臺運(yùn)行模式update locations (如下圖) 并且,調(diào)用以下方法,設(shè)置允許后臺定位


    勾選后臺模式.png
 if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
    _locationM.allowsBackgroundLocationUpdates = YES;
}
  • 注意:如果APP處于后臺,則會出現(xiàn)藍(lán)條
  • 方案二:請求前后臺定位授權(quán),并配置KEY
[_locationM requestAlwaysAuthorization];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容