iOS iBeacons不适用于少数设备

时间:2014-12-27 17:36:09

标签: ios bluetooth-lowenergy ibeacon btle

我一直试图运行iBeacon Receiver样本。该代码应该检测设备进入区域并退出区域。 iBeacon区域由在另一台iOS设备上运行的发射器创建。

接收器代码在我拥有的其中一个设备(iOS 7.0.1)中完美运行。它正在检测该区域的进出。但是相同的代码在iOS 7.1 [iPad Air]和iOS 8.0 [iPad Mini]的其他几个设备上不起作用。

我相信这些硬件支持蓝牙LE。

我是否会遗漏设备上的某些配置?我无法追踪它。你能建议吗?

2 个答案:

答案 0 :(得分:0)

如果没有请求位置权限,那么在iOS 7上构建的Beacon应用程序无法检测到为iOS 8构建的信标。有关详细信息,请参见此处:

In iOS 8 Beacon not detecting

这无法解释为什么你提到的代码在iOS 7.1上不起作用,所以也许该设备存在硬件问题(蓝牙关闭或蓝牙LE不受支持。)第一个支持蓝牙LE的iOS设备是iPhone 4S所以4以前的设备无法检测到信标。

答案 1 :(得分:0)

AFA iOS 8,当您请求权限时,请务必添加新的info.plist条目,说明您的应用为什么请求特定权限类型,否则它将继续(令人沮丧地)无声地失败。

有关详细信息,请参阅http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/(通过SO链接:iOS: App is not asking user's permission while installing the app. getting kCLAuthorizationStatusNotDetermined every time - Objective-c & Swift)。

我发现有一种症状表明你没有使用plist条目"" state是指在设置中查看位置服务权限时,您可以手动将权限设置为"始终"但是当您运行应用程序时,选择会清除(也就是说,您没有选择该应用程序的位置服务权限。)