GKSession 的问题。无法识别可用设备

发布于 2024-11-26 17:36:22 字数 963 浏览 3 评论 0原文

大家好,我正在使用以下代码来识别蓝牙上的可用设备。

_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;
   }

 }

,但是这个方法永远不会被调用。可能是什么问题? 请帮我 !!!

Hi All I am using the following code to identify the available devices on bluetooth.

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

_session.delegate = self;

[_session setDataReceiveHandler:self withContext:nil];

_session.available = YES;

I have alos added the delegate method

 - (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;
   }

 }

But this method is never being called . What can be the issue ?
Please help me !!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陈独秀 2024-12-03 17:36:22

嗯,代码看起来不错。
你有正确声明的代表吗?我的意思是< GKSessionDelegate >在你的 .h 中?

您可以尝试在没有 displayName 的情况下初始化 GKSession:

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

well, code seems fine.
do you have delegate declared properly? I mean < GKSessionDelegate > in your .h ?

Could you try initializing GKSession without displayName:

_session = [[GKSession alloc]initWithSessionID:sessionid displayName:nil sessionMode:GKSessionModePeer];
饮湿 2024-12-03 17:36:22

确保他们使用相同的 sessionID。尝试使用 NULL 作为会话 ID,应用程序将为您创建一个。

Make sure they use the same sessionID. Try NULL as session ID instead and the app will make one for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文