如何在不需要两个对等体按下相同按钮的情况下进行游戏套件连接

时间:2011-10-06 19:57:19

标签: ios xcode p2p gamekit

我正在尝试开发一个应用程序,我将联系人的详细信息发送到另一台设备。我可以连接这两个设备,但前提是同时按下两个设备上的相同按钮。

我的问题是:我可以使用gamekit让应用程序在后台监听设备,这样听力设备就不必按下按钮就可以让搜索设备找到它。所以基本上:

搜索设备(x):按下按钮 - >查找其他设备

聆听设备(y):设备x想与您联系。 (无需按下按钮使其自身可见)

1 个答案:

答案 0 :(得分:1)

嗯,我不确定我是否完全理解你的问题,但你可以通过将GKSession对象的'available'属性设置为true来使你的应用可见。

GKSession *session = [[GKSession alloc] initWithSessionID:@"MyApp" displayName:@"Name" sessionMode:GKSessionModePeer];
session.delegate = self;
[session setDataReceiveHandler:self withContext:NULL];
session.available = YES;

或许您正在使用GKPicker设置连接,并参考“XX想要连接”的模态窗口?

完全可以静默地自动接受传入连接。看一下GKSessionDelegate协议。

基本上,你这样做:

 - (void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID
{
    NSError *err;
    if (![session acceptConnectionFromPeer:peerID error:&err])
        //Deal with error
}