大家好我正在使用以下代码来识别蓝牙上的可用设备。
_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;
}
}
但这种方法永远不会被调用。可能是什么问题? 请帮帮我!!!
答案 0 :(得分:1)
你可以尝试初始化没有displayName的GKSession:
_session = [[GKSession alloc]initWithSessionID:sessionid displayName:nil sessionMode:GKSessionModePeer];
答案 1 :(得分:1)
确保他们使用相同的sessionID。尝试使用NULL作为会话ID,应用程序将为您创建一个。