iOS8 下定位 (CLLocationManager) 的改變

2014/09/21
~ 阿亮 ~

今天 iOS8 下測試下一班高鐵v1.8.1 、下一班火車v1.2.1 ,發現定位的寫法也不一樣了…. >”< 舊的 CLLocationManager 寫法,在新安裝的 App 會出現定位不會被詢問的情形。

0921_002 

如上圖所示,原本 Xcode5.1.1 的定位,若沒有變更程式碼,用 Xcode6 去編繹,安裝後的 App 會發現在「隱私權」>「定位服務」下的應用程式呈現沒有設定(如圖 1.),新裝的 App 也不會因為 CLLocationManager startUpdatingLocation 詢問定位的權限了

在 iOS8 下,它改由 requestWhenInUseAuthorization 來詢問權限

if (nil == locationManager)
{
     locationManager = [[CLLocationManager alloc] init];
}
    
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
    [locationManager requestWhenInUseAuthorization];

另外,要在 info.plist 設定詢問權限時的字串 NSLocationWhenInUseUsageDescription

0921_001

這樣在詢問的對話框就會出現上面設定的字串了

0921_003

上面定位有問題的情形倒是在以下情形是不會發生的

  1. 原本 iOS7 就安裝的App,升級到  iOS8,因為原本定位設定儲存了,不會有問題
  2. 在 iOS8 下,安裝 Xcode5.1.1 編繹出來的 App


3 Responses to “iOS8 下定位 (CLLocationManager) 的改變”

  • Alston 說:

    Thanks for sharing!

  • 阿叶 說:

    谢谢博主,以前都用iOS7测的,换了8之后也没试过定位,今天一用 !!昏頭!!
    问题解决了,太好了 !!放炮!!

  • 微尘 說:

    谢谢博主,解决大问题了。。。。真心被折腾了三四天了,原来答案在这里 !!爽!!
    博主请收下我的膝盖~~~ Orz

站內搜尋



本站其他服務

本站其他軟體



  • 台灣匯率快算

    提供全球 150 種以上貨幣即時換算,以及各種匯率歷史變化圖。


  • 批踢踢快訊 (pttNews)

    身為鄉民的您,是不是常常覺得現在的批踢踢 (PTT) 閱讀器,明明您就只要看幾個板,都幫您分類好,但不是您要的?甚至您只想關注某個人(或某件事)的消息,卻散布在不同東西,找出來很辛苦? 這個 App 可以解決您這些問題,快來用吧!


  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵


  • 台灣空污警報(AirInfo)

    設定特定站點為推播通知關注點後,當該站點空氣品質變糟時,即時推播通知給您。另外提供站點附近基本天氣預測資料。


  • 臉書粉絲專頁搜尋 (FPSearch)

    不用登入臉書即可搜尋臉書粉絲專頁(臉書粉絲團)所公開的文章。您可以指定特定日期範圍之前的文章,也可設定搜尋粉絲專頁內包含特定關鍵詞的文章。


  • 藝文快訊

    讓你可以輕鬆追蹤含有您想要關注關鍵詞的任何藝文活動訊息,只要有最新的資訊,「藝文快訊」即會推播通知給你.