蓝牙低功耗应用无法在iOS 7上编写特性

时间:2013-12-04 15:31:51

标签: ios iphone bluetooth bluetooth-lowenergy core-bluetooth

我有一个蓝牙低功耗(BLE)应用程序,通过开放式连接与BLE设备通信。我正在使用CoreBluetooth库。在我将iPhone升级到iOS 7并将XCode升级到XCode 5.我重新编译了我的蓝牙低功耗应用程序,发现它不再有效。连接成功。发现服务和特征没有问题。甚至对特征的阅读似乎都很好。但写一个应该在BLE设备上触发某些动作的特性没有任何影响。

如果我使用XCode将同一个应用程序下载到另一个带有 iOS 6 的iPhone,那么一切正常。所以我可以确定问题可能是iOS 7而不是XCode 5的重新编译。 XCode 5也可以为同一个项目准备iOS 6设备的不同应用程序,因为我可以看到应用程序在两个设备上的外观不同。

那么从iOS 6到iOS 7的变化使得写入特性失败了吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,问题在于固件不是你的iOS代码。 iOS6在特性类型上更加轻松,但iOS7更加严格。

特性的WriteWithoutResponse标志必须明确设置为与iOS7一起使用

我在我的初创公司使用RedBear的Biscuit for Arduino来测试我们的产品,该产品与iOS6完美配合,但当应用程序迁移到iOS7时,写入会悄然失败。

更详细的讨论在这里(参见Mattj949的更新)@ https://redbearlab.zendesk.com/entries/25031402-BLE-Mini-and-iOS-7 在此问题上有一些Apple主题,http://lists.apple.com/archives/bluetooth-dev/2013/Aug/msg00046.htmlhttp://lists.apple.com/archives/bluetooth-dev/2013/Aug/msg00050.html