わかりました、私は独自の GKSession オブジェクトを作成しようとしてきましたが、デリゲート メソッドによってコンソールにエラーが表示され、まだ修正方法がわかりません。誰か提案があるか、この問題に遭遇したかどうか疑問に思っていましたか? *注記 - 変数 peerStatus はコードの別の場所で定義されています。ピアには、「kServer」または「kClient」のステータスを指定できます。ピアが GKSessionModePeer にある場合、クライアントとサーバーの両方の作業を行う必要があるため、実際にはパフォーマンス時間が遅くなるということを読んだので、それぞれを GKSessionModeServer または GKSessionModeClient に定義したいと思います。
- (GKSession *)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type {
if (peerStatus == kServer) {
GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeServer];
return [session autorelease];
}
else {
GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeClient];
return [session autorelease];
}
}
エラーコード全体は次のとおりです。
ポート 56386 でリッスンしています 2009-06-30 10:31:41.892 GKTank[17756:20b] *** キャッチされていない例外 'GKInvalidArgumentException' が原因でアプリを終了しています。理由: 'GKSessionModePeer モードの有効な GKSession オブジェクトを指定する必要があります。 -peerPickerController:sessionForConnectionType: の実装でデフォルトの GKSession オブジェクトを作成し、'nil' を返します。提供されたオブジェクトは: 送信された 0 データ パケット : ラッシュ (0 パケット 0 バイト): 信頼 (0 パケット 0 バイト) : rtry (0 パケット 0 バイト) : 袋 (0 パケット 0 バイト) : 現在の加重平均 rtt (0 ミリ秒) session mode: 0' 2009-06-30 10:31:41.893 GKTank[17756:20b] Stack: ( 807902715, 2452446779, 807986683, 807986522, 927035842, 927037074, 927038407, 815223834, 927038949, 9245, 8562, 814709201, 815110321, 815119058、815114270、