【问题标题】:Xcode 6 GM - CLLocationManagerXcode 6 GM - CLLocationManager
【发布时间】:2014-09-15 09:07:28
【问题描述】:

我有一个使用 Xcode 5 制作的项目。我有一个 ViewController,我在其中使用 CLLocationManager 获取电话位置。我都实现了:

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

效果很好。

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

有什么想法吗? 谢谢

【问题讨论】:

  • 您好,Xcode 6 尚未公开发布,仅供开发人员使用。在 iOS8 或 Xcode 6 公开发布之前,您应该在 Apple 开发者论坛中提问。
  • 您是否实施了新的授权调用之一 - requestAlwaysAuthorizationrequestWhenInUseAuthorization?您还需要 info.plist 中的相应条目 - 请参阅此答案,例如 stackoverflow.com/questions/24062509/…
  • 它解决了我的问题。 datacalculation.blogspot.in/2014/11/…
  • 点击一个位置,然后点击关闭。然后再次单击一个。它应该可以工作。

标签: ios cllocationmanager xcode6


【解决方案1】:

请查看帖子here

你必须注意两件事

1.

  • requestAlwaysAuthorization - 用于后台定位

    [self.locationManager requestWhenInUseAuthorization];

  • requestWhenInUseAuthorization-location 仅在应用处于活动状态时

    [self.locationManager requestAlwaysAuthorization];

如果您没有提出两个请求中的任何一个,iOS 将忽略 startUpdateLocation 请求。

2。 根据您要求的权限,在 Info.plist 中包含 NSLocationAlwaysUsageDescriptionNSLocationWhenInUseUsageDescription 键。此字符串将由 iOS 显示给用户,以便用户了解我们的应用为什么需要权限。

希望这会有所帮助。

【讨论】:

猜你喜欢
  • 2014-11-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多