原文:
今天在開發的時候發現了乙個ios8的定位問題,執行操作之後,不會呼叫到定位之後的delegate方法中,然後找了一些資料來了解了一下ios8系統下的
定位,發現確實是有所不同的:
解決方法:
1.在info.plist中新增key;
nslocationwheninusedescription,允許在前台獲取gps的描述
nslocationalwaysusagedescription,允許在後台獲取gps的描述
2.在**定位中,做版本區分和授權請求:
[objc]view plain
copy
?if([cllocationmanager
locationservicesenabled
])
self
.locationmanager
.delegate
= self
; self
.locationmanager
.distancefilter=1
.0;
self
.locationmanager
.desiredaccuracy
= kcllocationaccuracybest;
if([
self
.locationmanager
respondstoselector
:@selector
(requestalwaysauthorization)])
[self
.locationmanager
startupdatinglocation
];//開啟位置更新
self
.delegate
= delegate;
}
ok,解決了。 這個改動也看出了蘋果對隱私授權開始進行層次設計,授權不再僅僅是侷限於是否的2選1. 這是一件好事!
iOS8 下定位失敗問題
在ios8下,按照原來的 是無法獲取到位置資訊,不成功也不失敗,最終無法獲取位置資訊 在經過查閱後發現,需要在info.plist 裡面新增 型別為 boolean 值為yes 然後在需要定位的地方新增以下 self.locationmanager requestwheninuseauthoriza...
iOS8之後CoreLocation定位的使用
在info.plist檔案中新增如下配置 始終允許訪問位置資訊 1 nslocationalwaysusagedescription 使用應用程式期間允許訪問位置資料 2 nslocationwheninuseusagedescription 建立乙個管理者 cllocationmanager ma...
ios8 定位問題解決思路
ios8 定位問題解決思路 1 plist檔案新加兩條變數 a nslocationalwaysusagedescription yes b nslocationwheninuseusagedescription yes 2 增加判斷是否手機為ios8系統,加許可權 locationmanager ...