gpt4 book ai didi

ios - GKSession-杀死并续订 session

转载 作者:行者123 更新时间:2023-12-01 19:23:32 27 4
gpt4 key购买 nike

为了读取对等方的新显示名称,我需要终止并更新GKSession。将其设置为nil并重新启动它不起作用。在下面的代码中,未调用for循环中的NSLog来显示可用的对等节点(没有错误消息):

-(IBAction) btnRefresh:(id) sender {

self.currentSession = nil;

self.currentSession = [[GKSession alloc] initWithSessionID:@"anything" displayName:name sessionMode:GKSessionModePeer];
self.currentSession.delegate = self;
self.currentSession.available = YES;
self.currentSession.disconnectTimeout = 0;
[self.currentSession setDataReceiveHandler:self withContext:nil];

peerListAvailable = [[NSMutableArray alloc] initWithArray:[currentSession peersWithConnectionState:GKPeerStateAvailable]];

for (NSString *peer in peerListAvailable) {
NSLog(@"found available peer; checking name and ID... %@, %@",[currentSession displayNameForPeer:peer], peer);
}

将currentSession设置为nil并重新启动它有什么问题?
也许您知道另一种续订GKSession的方法?
首先十分感谢。

最佳答案

以下方法说明了GKSession的设置和拆卸:

- (void)setupSession
{
gkSession = [[GKSession alloc] initWithSessionID:nil displayName:nil sessionMode:GKSessionModePeer];
gkSession.delegate = self;
gkSession.disconnectTimeout = 5;
gkSession.available = YES;
}

- (void)teardownSession
{
gkSession.available = NO;
[gkSession disconnectFromAllPeers];
}

如果您有兴趣进行更深入的研究,请查看 GKSessionP2P,这是一个演示应用程序,它演示了 GKSession的临时网络功能。该应用程序既可以在本地网络上做广告,又可以自动连接到可用的对等设备,从而建立对等网络。

关于ios - GKSession-杀死并续订 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048441/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com