[英]Core Location don't run on ios simulator
我的應用是由Xcode 5為ios7創建的,當我按下“獲取位置”按鈕時,出現了消息“ MyApp想要使用您的當前位置”,現在我更新了Xcode,並且在ios8核心位置上沒有運行,缺少一些鍵加上? 還是上課? 在ios7中沒有實現的必要嗎?
iOS 8 CoreLocation API已更改。
因此,您需要做的第一件事是將以下兩個鍵中的一個或兩個添加到Info.plist文件中:
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
這兩個鍵都帶有一個字符串,該字符串描述了為什么需要定位服務。 您可以輸入一個字符串,例如“需要位置才能找到您所在的位置”,就像在iOS 7中一樣,可以在InfoPlist.strings文件中進行本地化。
接下來,您需要為相應的定位方法whenInUse或Background請求授權。 使用以下調用之一:
[self.locationManager requestWhenInUseAuthorization]
[self.locationManager requestAlwaysAuthorization]
下面的代碼對ios7和ios8都適用。
if (_locationmanager == nil) {
_locationmanager = [[CLLocationManager alloc] init];
}
_locationmanager.delegate = self;
_locationmanager.distanceFilter = kCLDistanceFilterNone;
if ([CLLocationManager locationServicesEnabled]) { // Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7.
if ([_locationmanager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[_locationmanager requestWhenInUseAuthorization];
}
[_locationmanager startUpdatingLocation];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.