BTLE Corebluetooth iOS传输阵列

时间:2014-11-12 23:00:41

标签: ios bluetooth-lowenergy core-bluetooth btle

我正在玩Apple示例代码BTLE_TRANSFER https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html 在示例中,iOS设备" A"发送到另一个iOS设备" B"一些" text" (NSString)当B(中央)订阅" A"的特征时(外周)。 (数据被分割成碎片,然后逐件发送,直到另一方收到所有内容)

我修改了代码以使用UIImageJPEGRepresentation方法传输图像并且工作正常(但是当图像大小超过2 ko时需要很长时间)

现在我想尝试传输一组不同的对象,如text,image。

我在didSubscribeToCharacteristic方法(外围设备管理器端)中尝试了以下代码:

NSArray *MyArray;
MyArray = [[NSArray alloc]initWithObjects:@"Text1", @"Text2", nil];
_dataToSend = [NSKeyedArchiver archivedDataWithRootObject:MyArray];

其中_dataToSend是发送的NSData

以下代码中的didUpdateValueForCharacteristic方法(中心端 - 外围代理):

NSArray *My2Array = [NSKeyedUnarchiver unarchiveObjectWithData:_dataReceived];
NSLog(@"%@",[My2Array objectAtIndex:1]);

其中_dataReceived是收到的NSData

每件都在中央收到,但有些部分是" null"当我尝试将数据解压缩到nsarray时,它表示数据为NULL。

我使用了错误的方法吗? 有没有其他方法可以将nsarray放入nsdata?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

代码实际上正在运行......我只是从地面重新输入所有内容 抱歉打扰