我是一些NSStrings,我只是加入它们并制作一个NSString,然后我将该单个NSString转换为NSData并通过蓝牙发送到其他iphone
但现在我必须发送带有上述数据的图片,
我怎样才能实现这样的概念?
但是我想发送单个NSData(UIImage + NSString),我怎么能????
答案 0 :(得分:2)
如何在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];
}
祝你好运!
答案 1 :(得分:0)
我建议将它们分开发送,因为图像可能非常大(将图像本身发送到多个数据包中)。但是如果你真的想一次性完成所有工作,请尝试将它们包装在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];