Mobile Application Programming GameKit
GameKit
Peer-to-Peer Connectivity
Asynchronous Communication
Guaranteed or Non-Guaranteed Delivery
Initial Connection UI
In-Game Voice
Serialization Protocols
NSKeyedArchiver NSKeyedUnarchiver
NSCoding compliant
NSCoding compliant
GKSession
Sending / Receiving Data- (BOOL) sendData:(NSData*)data
toPeers:(NSArray*)peers withDataMode:(GKSendDataMode)mode error:(NSError**)error
- (void) setDataReceiveHandler:(id)handlerwithContext:(void *)context
- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context;
In-Game Voice
System Singleton
Your object implementing
protocol
General Overview
GameKit Programming Guide
In-Game Voice
GKSession Bluetooth Internet with Sockets
GameKit Programming Guide
GameKit Programming Guide
Configure AVAudioSession singleton for playback and record
Implement 2 GKVoiceChatClient protocol methods
- (NSString*) participantID
- (void) voiceChatService:(GKVoiceChatService*)voiceChatService sendData:(NSData*)data toParticipantID:(NSString*)participantID
Implement GKSession data receive handler
- (void) receiveData:(NSData*)data fromPeer:(NSString*)peer inSession: (GKSession*)session context:(void*)context
Set GKVoiceChatService system singleton client
[[GKVoiceChatService defaultVoiceChatService] setClient:clientObject];
Initiate voice chat session
[[GKVoiceChatService defaultVoiceChatService] startVoiceChatWithParticipantID:otherPeerID error:nil];
GameKit Programming Guide