我是一些 NSString,我只是加入他们并制作一个 NSString,然后我将那个 NSString 转换为 NSData 并通过蓝牙发送到其他 iPhone
但现在我必须发送带有上述数据的图像,
我怎样才能实现这样的概念?
但我想发送单个 NSData (UIImage+NSString),我怎么能????
我是一些 NSString,我只是加入他们并制作一个 NSString,然后我将那个 NSString 转换为 NSData 并通过蓝牙发送到其他 iPhone
但现在我必须发送带有上述数据的图像,
我怎样才能实现这样的概念?
但我想发送单个 NSData (UIImage+NSString),我怎么能????
关于如何在 iPhone 上编程蓝牙数据传输的教程在这里: http: //www.devx.com/wireless/Article/43502/1954
您正在寻找的重要部分在这里:
-(IBAction) btnSend:(id) sender
{
//---convert an NSString object to NSData---
NSData* data;
NSString *str = [NSString stringWithString:txtMessage.text];
data = [str dataUsingEncoding: NSASCIIStringEncoding];
[self mySendDataToPeers:data];
}
- (void) mySendDataToPeers:(NSData *) data
{
if (currentSession)
[self.currentSession sendDataToAllPeers:data
withDataMode:GKSendDataReliable
error:nil];
}
祝你好运!
我建议以单独的数据包发送它们,因为图像可能非常大(以多个数据包发送图像本身)。但如果你真的想一次完成所有操作,请尝试将它们包装在 NSDictionary 中。将字典编码为 NSData,然后发送出去。像下面这样的东西会起作用。
NSDictionary *myDict = //whatever your dict should hold here...
NSMutableData *packet = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:packet];
[archiver encodeObject:myDict forKey:@"SomeKey"];
[archiver finishEncoding];