1

私はいくつかの NSString であり、それらに参加して単一の NSString を作成し、その単一の NSString を NSData に変換し、Bluetooth 経由で他の iPhone に送信しています。

しかし、今は上記のデータで画像を送信する必要があります。

どうすればそのようなコンセプトを達成できますか?

しかし、単一の NSData (UIImage+NSString) を送信したいのですが、どうすればよいでしょうか????

4

2 に答える 2

2

iPhone で Bluetooth データ転送をプログラムする方法に関するチュートリアルはこちら: 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 に答える