簡體   English   中英

BTLE Corebluetooth iOS傳輸陣列

[英]BTLE Corebluetooth iOS Transfer an array

我正在使用Apple示例代碼BTLE_TRANSFER https://developer.apple.com/library/ios/samplecode/BTLE_Transfer/Introduction/Intro.html在示例中,一個iOS設備“ A”向另一個iOS設備“ B”發送了一些B(中央)訂閱“ A”(外圍)的特征時的“文本”(NSString)。 (數據被分成幾部分,然后逐個發送,直到另一端接收到所有數據為止)

我修改了代碼以使用UIImageJPEGRepresentation方法傳輸圖像,並且效果很好(但是當圖像大小超過2 ko時,會花費很長時間)

現在,我想嘗試傳輸一系列不同的對象,例如文本,圖像。

我在didSubscribeToCharacteristic方法(Peripheral Manager端)中嘗試了以下代碼:

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

每個部分都在中央接收,但是有些部分為“空”,當我嘗試將數據歸檔到nsarray時,它表示數據為NULL。

我使用了錯誤的方法嗎? 還有其他方法可以將nsarray放入nsdata嗎?

謝謝您的幫助

吉米

該代碼實際上正在工作...我只是從地面上重新輸入所有內容抱歉打擾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM