我在使用这段代码 GKPeerPickerController 和 GKSession 以及 GKPeerConnectionState 时遇到问题
我得到的错误是:GKPeerPickerController 已弃用:首先在 IOS 7 中弃用
我的代码是:
-(void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession:(GKSession *)session context:(void *)context { NSKeyedUnarchiver *archiver=[[NSKeyedUnarchiver alloc]initForReadingWithData:data]; NSString *str=[archiver decodeObjectForKey:@"Text"]; [self adicionarTexto:str fuiEu:NO]; } -(void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *) session { currentSession = session; session.delegate = self; [session setDataReceiveHandler:self withContext:nil]; picker.delegate = nil; [picker dismiss]; } -(void)peerPickerControllerDidCancel:(GKPeerPickerController *)picker{ picker.delegate = nil; conectado=NO; } -(void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state { if (state==GKPeerStateConnected) { conectado=YES;
}else{
conectado=NO;
}
[self atualizarBarra];
}
和
-(void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)peerID toSession:(GKSession *) session {
currentSession = session; session.delegate = self; [session
setDataReceiveHandler:self withContext:nil]; picker.delegate = nil;
[picker dismiss]; }
和
-(void)conectar{ if (conectado==NO) { BTpicker = [[GKPeerPickerController alloc] init]; BTpicker.delegate = self; BTpicker.connectionTypesMask = GKPeerPickerConnectionTypeNearby; [BTpicker show]; }else { [currentSession disconnectFromAllPeers]; } }
拜托,我需要快速帮助:(
最佳答案
我最近遇到了同样的问题。你应该使用 MCBrowserViewController .看看我的回答here
关于ios - GKPeerPickerController 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438570/