0

使用GKPeerPickerController我可以通过 bluetogether 轻松连接两个 ios 设备。但它仅在 GKSessionModePeer 模式下。

我使用代码在GKSessionModeServer模式下创建会话

GKSession *session=[[GKSession alloc] initWithSessionID:nil displayName:nil sessionMode:GKSessionModeServer];
session.delegate = self;
session.available = YES;
// Set data handler.
[session setDataReceiveHandler:self withContext:nil];

GKSessionModeClient此代码用于在另一台设备中以模式创建会话

GKSession *session=[[GKSession alloc] initWithSessionID:nil displayName:nil sessionMode:GKSessionModeClient];
session.delegate = self;
session.available = YES;
// Set data handler.
[session setDataReceiveHandler:self withContext:nil];

当我设置时,应该调用session.available =YES一些方法。delegate但是什么也没发生。为什么?

如何使用 api 找到其他设备并将它们连接在一起?或者任何其他方法可以通过蓝牙传输数据?

4

1 回答 1

0

最后我修复它。当我设置 session.available = YES 时,它会寻找其他 session ,方法:

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

将被调用。

搜索时不能释放会话!!!

于 2013-02-22T08:22:21.830 回答