2011-07-27 1 views
2

こんにちはすべて私は次のコードを使用して、Bluetoothで使用可能なデバイスを識別しています。GKSessionに問題があります。使用可能なデバイスを確認する

_session = [[GKSession alloc]initWithSessionID:sessionid displayName:sessionid sessionMode:GKSessionModePeer]; 

_session.delegate = self; 

[_session setDataReceiveHandler:self withContext:nil]; 

_session.available = YES; 

私はALOSデリゲートメソッド

- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state{ 

NSLog(@"state : %@",state); 

switch (state) 
{ 
    case GKPeerStateConnected: 
    { 

     NSLog(@"%@ connected ",peerID); 

     break; 
    } 
    case GKPeerStateDisconnected: 
    { 

     NSLog(@"%@ disconnected ",peerID); 
     break; 
    } 
    case GKPeerStateAvailable: 
    { 
     NSLog(@"Available : %@",peerID); 
     break; 
    } 
    case GKPeerStateUnavailable: 
    { 
     NSLog(@"Un Available : %@",peerID); 
     break; 
    } 
    default: 
     break; 
    } 

} 

を追加している。しかし、このメソッドは呼び出されませんさん。何が問題なの? 私を助けてください!

答えて

1

よく、コードはよさそうです。 デリゲートが正しく宣言されていますか?あなたの.hで< GKSessionDelegateを意味しますか?

あなたは、DisplayNameなしGKSessionを初期化してみてくださいでした:

_session = [[GKSession alloc]initWithSessionID:sessionid displayName:nil sessionMode:GKSessionModePeer]; 
1

彼らは同じセッションIDを使用していることを確認してください。代わりにセッションIDとしてNULLを試してみてください。そうすれば、あなたのためにアプリケーションが作成されます。

関連する問題