重複の可能性:
Game Center 経由で NSString を送信する
私はこれに2日間取り組んできましたが、どこにも行きませんでした。誰かが問題に光を当ててくれることを望んでいました.
1) 私は NSMUtableArray を持っています 2) 配列内の各要素は [encoder encodeObject: myArray] によってシリアル化されます。結果が返され、「cards」と呼ばれる構造体「MessageMove」(NSData * 型) MessageMove メッセージに割り当てられます。
....
typedef struct
{
Message message;
NSData *cards;
} MessageMove;
3) カードが NSData 型に変換されたので、構造体自体についても同じことを行いたいので、次のように呼び出します。
NSData *data = [NSData dataWithBytes:&メッセージの長さ:sizeof(メッセージ)];
4)最後に、次のようにデータを他のプレーヤーに送信します
BOOL success = [[GCHelper sharedInstance].match sendDataToAllPlayers:data withDataMode:GKMatchSendDataReliable error:&error];
問題は、受信側がカード データをまったく取得しないことにあります (MessageMove->cards)。これはおそらく、NSData * がリモートに送信されているのではなく、それへのポインターのみが送信されているためです。
実際のデータを送信する方法を知っている人はいますか? 私はこの問題に一日中頭を悩ませていて、どうすれば解決できるのかわかりません
どうもありがとう