locationManager:rangesBeaconsDidFailForRegion:withError:kCLErrorDomain 16

akl*_*akl 5 bluetooth core-location ios ios7 ibeacon

我看过CLLocationManager kCLErrorDomain代码?以及Apple Docs

我在调用startRangingBeaconsInRegion之前检查以确保范围是可用的:我还在locationManager中检查范围是否可用:rangesBeaconsDidFailForRegion:withError:方法.两次都返回true.

当我得到一组被监视的区域时,我的信标就在集合中(因此注册监视工作正常).

我已经读过错误16可能意味着测距不可用,蓝牙可能关闭,位置服务可能关闭,飞行模式可能打开,我已经检查了所有这些并且所有都可用并且正在运行(显然不是在飞行模式下).

每次运行应用程序时,可能导致范围失败的原因是什么?

Mar*_*uro 7

在我将设备更新到iOS 7.1(iPhone 5S)后,我似乎开始面对这个问题了.rangingBeaconsDidFailForRegion:被调用error.domain等于@"kCLErrorDomain"和使用error.codeas kCLErrorRangingUnavailable(16)(即使飞行模式未打开且蓝牙已启动并正在运行).

我跟着davidgyoung的建议刚刚启动(我按下Home + Power硬启动,直到设备关闭并显示Apple徽标,但正常启动工作)设备,现在它似乎正常工作.

这似乎是iOS 7.1和iOS 7.1.1中的错误,请参阅/sf/answers/1606443121/.唯一的解决方法- 现在 -是重新启动设备.

Apple现已发布iOS 7.1.2,它应解决此问题(等待确认).


dav*_*ung 3

只是为了消除它可能存在于您的代码中的任何可能性,请尝试参考应用程序,例如我的Locate for iBeacon。如果它也不起作用,则可能存在操作系统或硬件问题。

要解决此问题,请先重新启动手机,然后重试。然后尝试与常规蓝牙设备(耳机、Mac 等)配对。如果常规蓝牙配对正常,则可能是蓝牙 LE 问题。

您的 iOS 设备必须是 iPhone 4s+ 或 iPad 3+(BLE 所需)。

  • 遵循您的所有步骤后,我似乎已经解决了大部分问题...当其他所有方法都失败时,请依靠 Windows/Microsoft 心态并重新启动 (3认同)