【问题标题】:Bluetooth Low Energy app failed to write characteristics on iOS 7低功耗蓝牙应用无法在 iOS 7 上写入特征
【发布时间】:2013-12-21 04:16:24
【问题描述】:

我有一个低功耗蓝牙 (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 的哪些变化导致写入特征失败?

【问题讨论】:

  • 谁投票赞成这个问题可以留下一些cmets?您是否遇到同样的问题?

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


【解决方案1】:

我遇到了同样的问题,问题出在固件而不是您的 iOS 代码上。 iOS6对特征类型比较宽松,而iOS7比较严格。

必须明确设置 Characteristic 的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 2012-05-28
    • 2012-05-08
    • 2014-08-23
    • 1970-01-01
    相关资源
    最近更新 更多