Game Kitは、マルチプレイヤーゲームを始めるためのユーザインターフェースや、ゲームの状態を共有するためのデータ転送APIを提供します。ゲームに実装すると、同じゲームが近くの他のiPhoneやiPod touches上で動作中かどうか自動的に検出し、ユーザはBluetooth経由でそれらの1台に接続して、標準IPベースの通信チャンネルを介してゲームの状態を共有し始めます。自動検出はBonjourによって処理されます。接続のためのペアリングは不要ですので、すべてがシームレスにつながります。
例えば、文字列をNSDataに変換して、受信するには下記のコードのように、
を使います。
NSData *data = [NSKeyedArchiver] archivedDataWithRootObject:@"Hello"];
NSString *s = [NSKeyedUnarchiver unarchiveObjectWithData:data];
UIImage *image = [UIImage imageNamed:@"foo.jpg"]; NSData *data = UIImageJPEGRepresentation(image);
UIImage *image = [UIImage imageWithData:data];
セッションはGameKit?が用意する「GKSession」クラスを使って管理します。
セッションIDという識別子で管理します。
セッションには以下の3つのモードがあります。
クライアントに自分の存在を知らせる(アドバタイズ)
サーバを探すモード
サーバとクライアントの両方
ピアIDは接続時にGameKit?フレームワークが自動生成します。
型はNSStringです。
アップルのサイトです。英語です。
http://www.fourmeisters.com/iphone-lab/ja/2009/12/iphone-os-31gamekitwifi.html