Reputation: 55
I Have a Problem When I Use This Code GKPeerPickerController And GKSession And GKPeerConnectionState
The Error I Got Is : GKPeerPickerController is deprecated : first deprecate in IOS 7
My Code Is :
-(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];
}
And
-(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]; }
And
-(void)conectar{ if (conectado==NO) { BTpicker = [[GKPeerPickerController alloc] init]; BTpicker.delegate = self; BTpicker.connectionTypesMask = GKPeerPickerConnectionTypeNearby; [BTpicker show]; }else { [currentSession disconnectFromAllPeers]; } }
Please I Need Help Fast :(
Upvotes: 0
Views: 1415
Reputation: 9935
I've faced the same problem recently. You should use MCBrowserViewController. Take a look at my answer here
Upvotes: 1