大家好,我正在使用下面的代码来识别蓝牙上的可用设备。
_session = [[GKSession alloc]initWithSessionID:sessionid displayName:sessionid sessionMode:GKSessionModePeer];
_session.delegate = self;
[_session setDataReceiveHandler:self withContext:nil];
_session.available = YES;我还添加了委托方法
- (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;
}
}但是这个方法永远不会被调用。问题可能是什么?请帮帮我!
发布于 2011-11-15 21:17:03
好吧,代码看起来没问题。你是否正确地声明了委托?我是说你.h中的< GKSessionDelegate >?
您能否尝试在不使用displayName的情况下初始化GKSession:
_session = [[GKSession alloc]initWithSessionID:sessionid displayName:nil sessionMode:GKSessionModePeer];发布于 2012-01-18 09:38:51
确保它们使用相同的sessionID。尝试使用NULL作为会话ID,应用程序将为您创建一个会话ID。
https://stackoverflow.com/questions/6845438
复制相似问题