1

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

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

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

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

4

2 回答 2

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];    
}

祝你好运!

于 2011-04-01T08:28:25.500 回答
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];

于 2011-04-01T16:16:15.373 回答