【发布时间】:2014-10-10 14:51:01
【问题描述】:
当我试图在我的地图上显示用户位置时,它显示该位置在海洋中的某处(lat = 0.000,lon = 0.000),我已将模拟位置设置为在伦敦,但仍然没有。
当我尝试在我的 iphone 上编译应用程序时,它不会请求获取用户当前位置的权限,只是当我在 iphone 设置中启用应用程序以使用位置服务时,应用程序会显示用户当前位置。
知道为什么会这样吗? 这是我的 viewDidLoad :
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager = [[CLLocationManager alloc] init];
if(IS_OS_8_OR_LATER) {
[_locationManager requestWhenInUseAuthorization];
[_locationManager requestAlwaysAuthorization];
}
_locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[_locationManager startUpdatingLocation];
【问题讨论】:
-
您的 iPhone 运行的是 iOS 7 还是 8?
-
将
NSLocationWhenInUseUsageDescription密钥添加到您的 info.Plist 文件中 -
我在 iphone 上运行 7,在模拟器上运行 8,我已经添加了描述,还有其他想法吗?
-
也许 _locationManager 正在被释放?它是如何定义的?
标签: ios objective-c xcode location core-location