>最近在弄一個獲取用戶是否允許被定位的問題,搞了很久結(jié)果發(fā)現(xiàn)百度出來的都不是自己想要的答案,最后在一個博客上終于找到了,加上自己微薄的經(jīng)驗貼出來和大家分享,希望對大家有所幫助...
iOS 4.2 以后可以用 +(BOOL)locationServicesEnabled 和 + (CLAuthorizationStatus)authorizationStatus 兩個方法來檢查,前者是檢查手機是否開啟了定位,后者是檢查應(yīng)用是否擁有定位的權(quán)限。
其中CLAuthorizationStatus枚舉類型各類型的含義翻譯如下:
kCLAuthorizationStatusNotDetermined對于這個應(yīng)用程序,用戶還沒有作出選擇
kCLAuthorizationStatusRestricted此應(yīng)用程序沒有授權(quán)使用位置服務(wù)。由于位置服務(wù)的主動限制,用戶無法更改此狀態(tài),并可能沒有親自拒絕授權(quán)
kCLAuthorizationStatusDenied用戶已明確拒絕此應(yīng)用程序的授權(quán),或在設(shè)置中禁用位置服務(wù)。
kCLAuthorizationStatusAuthorizedAlways用戶已授權(quán)使用他們的位置在任何時間,包括監(jiān)測區(qū)域,訪問,或顯著的位置變化。
kCLAuthorizationStatusAuthorizedWhenInUse用戶已授予授權(quán)使用他們的位置,只有當(dāng)你的應(yīng)用程序是可見的,他們(這將是可見的,如果你繼續(xù)接收位置更新,而在背景中)。授權(quán)使用啟動的原料藥并沒有被授予。
kCLAuthorizationStatusAuthorized這個值是不贊成的,但相當(dāng)于新的總價值。