【问题标题】:iOS 8 and iBeacon - kCLErrorRegionMonitoringDeniediOS 8 和 iBeacon - kCLErrorRegionMonitoringDenied
【发布时间】:2014-08-02 05:52:49
【问题描述】:

过去几个月我一直在使用 iBeacons。我最近刚刚更新到 iOS8 Beta 1,发现区域监控和测距不再适用于我的信标应用程序。

这是由权限引起的。我现在在尝试启动区域监控时收到 kCLErrorRegionMonitoringDenied 错误返回。此错误对应于用户取消选择应用的位置权限。

如果我进入 设置>隐私>位置服务,我会遇到一些奇怪的行为。有时我的应用程序出现在此列表中但未选择任何设置,有时它根本没有出现在列表中。如果我手动将设置更改为“允许”,然后关闭设置,然后返回 设置>隐私>定位服务,我也会遇到同样的问题 - 应用程序可能不会出现在列表中,或者设置是未设置。

这显然是 iOS8 测试版中的一个错误,只是想知道是否有其他人遇到此问题和/或找到解决方法?

【问题讨论】:

标签: ios cllocationmanager ibeacon ios8


【解决方案1】:

对于iOS8中的iBeacons,必须使用requestAlwaysAuthorization,不能 requestWhenInUseAuthorization

(通过:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/

【讨论】:

  • 就是这样!谢谢。我假设测试WhenInUse 授权就足够了。我错了。对于监控,始终需要授权。
【解决方案2】:

我不知道问题是什么,但我遇到了同样的问题,我发现在测试版解决我的问题之前回到 Xcode。我希望我能给出比这更好的答案,但我想问题可能出在 Xcode 中而不是 ios 8 中。

我实际上对此进行了更多研究,似乎 ios 8 在尝试使用定位服务之前需要进行一些授权设置。 This might help answer your question further.这里有一些指向您可能会发现有用的直接文档的链接。check out the requestWhenInUseAuthorization documentation on info plist key这应该有助于让您在 Xcode 6 中使用 ios 8。抱歉,如果我没有更多帮助,我对 ios 开发还很陌生.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多