如何在iphone编程中通过蓝牙发送图像?

时间:2011-04-01 08:21:30

标签: iphone iobluetooth

我是一些NSStrings,我只是加入它们并制作一个NSString,然后我将该单个NSString转换为NSData并通过蓝牙发送到其他iphone

但现在我必须发送带有上述数据的图片,

我怎样才能实现这样的概念?

但是我想发送单个NSData(UIImage + NSString),我怎么能????

2 个答案:

答案 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];