Xcode 6 GM - CLLocationManager

时间:2014-09-15 09:07:29

标签: ios cllocationmanager xcode6

我有一个使用Xcode 5制作的项目。我有一个ViewController,我使用CLLocationManager获取手机位置。我已经实施了两个:

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

效果很好。

现在我用Xcode 6 GM打开了这个项目,这两个方法都没有被调用(不在模拟器或设备上)。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:6)

请检查主题here

你必须要处理两件事

1

  • requestAlwaysAuthorization - 用于背景位置

    [self.locationManager requestWhenInUseAuthorization];,或

  • requestWhenInUseAuthorization - 仅在应用处于有效状态时的位置

    [self.locationManager requestAlwaysAuthorization];

如果您没有同时发出两个请求,iOS将忽略startUpdateLocation请求。

2。 在Info.plist中包含NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription键,具体取决于您要求的权限。这个字符串将由iOS显示给用户,这样用户就可以了解为什么我们的应用需要获得许可。

希望这有帮助。