iOS11 獲取定位權限

更新Xcode 9之后笨农,真機iOS 11就缆,在獲取用戶定位權限上有所變動。先看下官方文檔解釋:鏈接地址

英文:
解釋文檔
中文:

概述
對位置服務的何時使用授權進行配置:
NSLocationWhenInUseUsageDescription鍵添加到您的應用程序的信息谒亦。plist文件竭宰。(在信息中,Xcode將這個密鑰顯示為“隱私-位置信息”份招。plist編輯切揭。)
創(chuàng)建和配置你的
CLLocationManager
對象。
調用
requestWhenInUseAuthorization()
在啟動任何位置服務之前锁摔,CLLocationManager對象的方法廓旬。
重要的
你需要提供NSLocationWhenInUseUsageDescription鍵在你的應用程序的信息。plist文件谐腰。如果該密鑰不存在孕豹,授權請求將立即失敗。
在需要位置服務的時候請求授權十气。例如励背,等待用戶激活你的應用程序的一個功能,該功能需要位置數據砸西。在啟動時不要請求授權椅野,除非您立即需要用戶的位置,或者在后臺啟動以接收位置更新籍胯。
要求在使用過程授權
清單1顯示了在啟動應用程序的位置相關服務之前竟闪,如何請求使用授權。只有在應用程序的授權狀態(tài)未確定時杖狼,才需要請求授權炼蛤。對于使用的授權,您可以調用
requestWhenInUseAuthorization()
方法蝶涩。如果您的應用程序的狀態(tài)已經確定理朋,您可以簡單地啟動您需要的服務絮识。
清單1
請求授權使用位置服務

let locationManager = CLLocationManager()
func enableBasicLocationServices() {
   locationManager.delegate = self
        
   switch CLLocationManager.authorizationStatus() {
      case .notDetermined:
         // Request when-in-use authorization initially
         locationManager.requestWhenInUseAuthorization()
         break
            
      case .restricted, .denied:
         // Disable location features
         disableMyLocationBasedFeatures()
         break
            
      case .authorizedWhenInUse, .authorizedAlways:
         // Enable location features
         enableMyWhenInUseFeatures()
         break
      }
   }
}

對授權狀態(tài)的更改作出響應
當您進行授權請求時,核心位置將異步處理您的請求嗽上,并將結果交付給您
locationManager(:didChangeAuthorization:)
位置管理器委托對象的方法次舌。使用該方法確定用戶是否授予或拒絕您的請求,并在響應中采取適當的操作兽愤。
清單2顯示了一個實現
locationManager(
:didChangeAuthorization:)
當應用獲得授權彼念,當授權被拒絕或受到限制時,應用程序的位置相關功能就會被禁用浅萧。
清單2
對應用程序的授權進行更改

func locationManager(_ manager: CLLocationManager, 
                      didChangeAuthorization status: CLAuthorizationStatus) {
   switch status {
      case .restricted, .denied:
         disableMyLocationBasedFeatures()
         break
            
      case .authorizedWhenInUse:
         enableMyWhenInUseFeatures()
         break
                  
      case .notDetermined, .authorizedAlways:
         break
   }
}

重要的
位置服務的可用性隨時可能發(fā)生變化逐沙。用戶可以在系統(tǒng)設置中禁用定位服務,無論是針對你的應用洼畅,還是針對所有的應用吩案。當設備進入飛機模式時,位置服務也會被禁用帝簇,當設備離開飛機模式時徘郭,它們可能會恢復。如果您的應用程序正在運行(在前臺或后臺)丧肴,當可用狀態(tài)更改時崎岂,系統(tǒng)將調用您的應用程序。
locationManager(_:didChangeAuthorization:)
方法通知您更改闪湾。

解釋下

簡單的來說:就是iOS 要更新新的Key冲甘,蘋果現在增加了一項新的隱私保護功能 NSLocationAlwaysAndWhenInUseUsageDeion,并且原有的NSLocationAlwaysUsageDeion 被降級為NSLocationWhenInUseUsageDeion途样。所以應用程序的Info.plist必須包含NSLocationAlwaysAndWhenInUseUsageDescriptionNSLocationWhenInUseUsageDescription

Info.plist

在Info.plist里設置好江醇,還不行。我們還需要去定位的界面何暇。
在控制器的里實現如下代碼

聲明
/**
 位置管理器
 */
@property (nonatomic, strong)CLLocationManager *manager;
實現
    _manager = [CLLocationManager new];
    [_manager requestWhenInUseAuthorization];
  • 注意:CLLocationManager對象要聲明不然的話陶夜,定位權限就是一閃而過,從而不能同意獲取定位裆站。

這樣點擊允許就可以成功定位了

iOS 11定位權限彈框
應用位置截圖
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末条辟,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子宏胯,更是在濱河造成了極大的恐慌羽嫡,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肩袍,死亡現場離奇詭異杭棵,居然都是意外死亡,警方通過查閱死者的電腦和手機氛赐,發(fā)現死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門魂爪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來先舷,“玉大人,你說我怎么就攤上這事滓侍〗ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵撩笆,是天一觀的道長捺球。 經常有香客問我,道長浇衬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任餐济,我火速辦了婚禮耘擂,結果婚禮上,老公的妹妹穿的比我還像新娘絮姆。我一直安慰自己醉冤,他們只是感情好,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布篙悯。 她就那樣靜靜地躺著蚁阳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸽照。 梳的紋絲不亂的頭發(fā)上螺捐,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音矮燎,去河邊找鬼定血。 笑死,一個胖子當著我的面吹牛诞外,可吹牛的內容都是我干的澜沟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼峡谊,長吁一口氣:“原來是場噩夢啊……” “哼茫虽!你這毒婦竟也來了?” 一聲冷哼從身側響起既们,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤濒析,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啥纸,有當地人在樹林里發(fā)現了一具尸體悼枢,經...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年脾拆,在試婚紗的時候發(fā)現自己被綠了馒索。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片莹妒。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绰上,靈堂內的尸體忽然破棺而出旨怠,到底是詐尸還是另有隱情,我是刑警寧澤蜈块,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布鉴腻,位于F島的核電站,受9級特大地震影響百揭,放射性物質發(fā)生泄漏爽哎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一器一、第九天 我趴在偏房一處隱蔽的房頂上張望课锌。 院中可真熱鬧,春花似錦祈秕、人聲如沸渺贤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽志鞍。三九已至,卻和暖如春方仿,著一層夾襖步出監(jiān)牢的瞬間固棚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人啄栓。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓拙毫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內容