kCLErrorDomain 错误 5:CLLocationManager 不允许我在 iPhone 7 上注册超过 10 个设备

Posted

技术标签:

【中文标题】kCLErrorDomain 错误 5:CLLocationManager 不允许我在 iPhone 7 上注册超过 10 个设备【英文标题】:kCLErrorDomain error 5 : CLLocationManager won't let me register more than 10 devices on my iPhone 7 【发布时间】:2017-04-05 19:19:23 【问题描述】:

这里提出的第一个问题请耐心等待。

我有一个严重依赖信标和 CoreLocation 的项目。到目前为止,所有尝试过的设备都可以正常工作(可能是 iPhone 7 以外的 10-15 种不同型号),我注册了 13 个信标也没问题。由于某种不明原因,我的 iPhone 7 不会超过 10 个。之后我得到了:

操作无法完成。 (kCLErrorDomain 错误 5。)

如果我删除了之前正确注册的信标,11th 将在下次启动时注册。如果我放回我删除的那个,它将不会再次注册。所以看起来限制是10......这很奇怪。在最新的 ios 更新之前,我让我的手机注册了所有 13 个,但现在不会再注册了。我真的不能说这是因为更新还是因为我的手机重新启动。我正在尝试寻找另一部手机来重现该问题,如果我这样做了,我会更新问题。我尝试了显而易见的方法:重启、重置等......

谢谢, 单克隆抗体

【问题讨论】:

设备范围内可以注册的信标区域数量存在限制。如果其他应用程序已经注册了一些信标区域,那么您的应用程序可以注册的数量会减少。如果应用程序对其所有信标使用单个 uuid,则认为“很好”,允许单个区域注册覆盖所有应用程序位置。 谢谢!!我不确定我是否完全理解。我们为应用程序中的所有信标使用单个 UUID。我是否仍然受到安装的其他应用的限制? 是的,信标区域的数量是系统范围的限制。如果您的所有信标共享一个 uuid,那么您只需要一个信标区域(至少在您获得第一个区域条目之前) 再次感谢,明天试试。我会发布结果。 根据本地化服务屏幕,我只有 1 个应用程序(我的)使用地理围栏。 【参考方案1】:

为了 100% 确保它永远不会发生,在任何手机上,您需要等待此代表呼叫,然后再按照记录注册信标:

func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) 
    // Now you can register you beacons if CLAuthorization is OK

可能无需等待即可工作,也可能不工作。永久修复了这个问题。如果您在没有正确 CLAuthorizationStatus 的情况下注册信标,也会收到此错误。

【讨论】:

以上是关于kCLErrorDomain 错误 5:CLLocationManager 不允许我在 iPhone 7 上注册超过 10 个设备的主要内容,如果未能解决你的问题,请参考以下文章

phonegap code: 2 message: 操作无法完成。 (kCLErrorDomain 错误 0。)

Siri Shortcuts App 总是在地理定位中抛出 kCLErrordomain 错误 2

当使用 CLGeocoder 的 ResreverseGeocodeLocation 但返回的地标为 nil 并且 kCLErrorDomain 错误 =8

CLLocationManager kCLErrorDomain 代码?

CLError.DeferredFailed 错误 (kCLErrorDomain Code=11) 延迟 GPS 更新失败

iOS Domain=kCLErrorDomain Code=1 在请求位置权限之前