2011-07-27 4 views
2

안녕 모두 다음 코드를 사용하여 블루투스에서 사용 가능한 장치를 식별합니다. 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

글쎄, 코드는 괜찮아 보인다. 델리게이트를 올바르게 선언 했습니까? 내 뜻은 < GKSessionDelegate>에 있습니다.

당신은 나 displayName없이 GKSession 초기화를 시도 할 수 :

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

들이 동일한 sessionID와를 사용해야합니다. 대신 세션 ID로 NULL을 시도하면 앱에서 세션 ID를 생성합니다.