通过蓝牙发送的iPhone数据被破坏了

时间:2012-01-16 05:11:19

标签: iphone bluetooth plist

在我的iPhone App中我试图通过蓝牙将数据从一个设备发送到另一个设备。

以下是我用于上述过程的代码

NSMutableData *data = [[NSMutableData alloc]init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:data];
[archiver encodeObject:YOURDICTIONARY forKey: YOURDATAKEY];
archiver finishEncoding];
[data writeToFile:YOURFILEPATH atomically:YES];
[data release];
[archiver release];

现在的问题是,如果数据的大小大约为220000字节,则数据会被压缩并成功传输,而不会有任何问题。

但如果它似乎通过NSMutableArray存储超过或大约230000字节,则会导致NSKeyedArchiver创建一个损坏的plist文件。

如何解决此问题,请帮助我的朋友

1 个答案:

答案 0 :(得分:0)

如果您使用GameKit进行传输,则允许的最大邮件大小为87KB。如果它大于那个,那么你必须将它分成多个消息。

来源:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/GameKitConcepts/GameKitConcepts.html#//apple_ref/doc/uid/TP40008304-CH100-SW1