GameKit を使用しているときに、説明のつかない問題に直面しました。WiFi ( picker.connectionTypesMask = GKPeerPickerConnectionTypeOnline;
) 経由で接続を確立すると、デバイスがお互いを認識できなくなります。シミュレーターがすべてを見ている間、彼らは何も見ていません。別のマシンで動作している任意のデバイスまたはシミュレーターを見ることができます。シミュレーターでは機能するのにデバイスでは機能しない理由を理解しようとして、数日間頭を悩ませてきました。誰でも私を助けてもらえますか?
これが私のセッションの作成方法です
if (type == GKPeerPickerConnectionTypeOnline)
{
picker.delegate = nil;
[picker dismiss];
[picker autorelease];
[alert setTitle:@"\n\n\n"];
[alert setMessage:@"Looking for other iPads, iPhones or iPod touches..."];
[alert addButtonWithTitle:@"Cancel"];
UIActivityIndicatorView *progress = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(125, 50, 30, 30)];
progress.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
[alert addSubview:progress];
[progress startAnimating];
[alert show];
self.gameSession = [[GKSession alloc] initWithSessionID:kSessionID displayName:nil sessionMode:GKSessionModePeer];
self.gameSession.available = YES;
self.gameSession.delegate = self;
self.gameSession.disconnectTimeout = 0;
[self.gameSession setDataReceiveHandler:self withContext:nil];
}