IOS蓝牙可写值返回“;未知错误“;

IOS蓝牙可写值返回“;未知错误“;,ios,ios6,bluetooth,bluetooth-lowenergy,Ios,Ios6,Bluetooth,Bluetooth Lowenergy,我正在IOS 6上开发我的第一款智能蓝牙(BLE)软件 我能够接收通知,并从我创建的自定义GATT概要文件(使用服务和特性的特定UUID)中读取与交换的特征值 但是,每次我试图在一个特征中写入一个值时,我都会得到错误消息Unknown error,而没有更多信息。没有错误代码,没有来自XCode的核心蓝牙[警告] 我已将我的服务和特性属性权限设置为无需身份验证即可写入。使用开发北欧工具,我能够在我的特征中写入一个值,所以这不会是一个许可问题 下面是我用来编写值的代码 uint16_t val =

我正在IOS 6上开发我的第一款智能蓝牙(BLE)软件

我能够接收通知,并从我创建的自定义GATT概要文件(使用服务和特性的特定UUID)中读取与交换的特征值

但是,每次我试图在一个特征中写入一个值时,我都会得到错误消息
Unknown error
,而没有更多信息。没有错误代码,没有来自XCode的核心蓝牙[警告]

我已将我的服务和特性属性权限设置为无需身份验证即可写入。使用开发北欧工具,我能够在我的特征中写入一个值,所以这不会是一个许可问题

下面是我用来编写值的代码

uint16_t val = 2;
NSData * valData = [NSData dataWithBytes:(void*)&val length:sizeof(val)];
[testPeripheral writeValue:valData forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];
以及引发错误“未知错误”的回调

控制台中的错误文本为

Did write characteristic value : <068c0e00 fedc070c 050b3200 04> with ID Unknown (<4444>)
With error: Unknown error.
没有写入特征值:ID未知()
有错误:未知错误。
错误消息中的值不是我要写的值??!!444是我用于测试的正确UUID

要写入的值的长度重要吗

在网上查了很多资料,做了很多测试之后,我需要弄明白这一点。
有什么建议吗?

问题出在设备数据库管理中,而不是IOS端。但是,如果没有CoreBluetooth的错误代码,很难找到它

问题出在设备DB管理中,而不是IOS端。但是,如果没有CoreBluetooth的错误代码,很难找到它

sdespont是对的

我也面临同样的问题。只需双击home按钮并向上滑动以终止应用程序,然后重新启动,BLE即可工作! 我认为它位于设备数据库管理中,即使在调试期间,我们也应该取消连接。

sdespont是正确的

我也面临同样的问题。只需双击home按钮并向上滑动以终止应用程序,然后重新启动,BLE即可工作!
我认为它位于设备数据库管理中,即使在调试期间,我们也应该取消连接。

您应该检查CBCharacteristic的属性。如果属性指示特征不可写入,则可能会出现此错误


祝你好运。

你应该检查CBF特性的属性。如果属性指示特征不可写入,则可能会出现此错误


祝你好运。

如果仍未解决,错误号是多少?如果仍未解决,错误号是多少?我面临着同样的问题。您所说的设备数据库管理是什么意思。请你再解释一下,以帮助我们理解根本原因。我的uController中有一些关于特性的错误设置。您可以尝试在IOS Bluetooth属性上解除设备配对,以强制进行新的配对/密钥交换。您还可以尝试通过关闭后台实例(如果存在)并重新启动它来使用应用程序的新实例。好luckI我也面临同样的问题。您所说的设备数据库管理是什么意思。请你再解释一下,以帮助我们理解根本原因。我的uController中有一些关于特性的错误设置。您可以尝试在IOS Bluetooth属性上解除设备配对,以强制进行新的配对/密钥交换。您还可以尝试通过关闭后台实例(如果存在)并重新启动它来使用应用程序的新实例。祝你好运
Did write characteristic value : <068c0e00 fedc070c 050b3200 04> with ID Unknown (<4444>)
With error: Unknown error.