Хорошо, я пытался создать свой собственный объект GKSession, и метод делегата выдает мне ошибку в консоли, которую я еще не понял, как исправить. Мне было интересно, есть ли у кого-нибудь предложения или сталкивался ли с этой проблемой? * Просто примечание - переменная peerStatus определена в другом месте моего кода. Одноранговому узлу может быть присвоен статус «kServer» или «kClient». Я бы предпочел определить, что каждый из них находится в GKSessionModeServer или GKSessionModeClient, потому что я читал, что если одноранговый узел находится в GKSessionModePeer, время производительности на самом деле ниже, потому что он должен выполнять работу как клиента, так и сервера.
- (GKSession *)peerPickerController:(GKPeerPickerController *)picker sessionForConnectionType:(GKPeerPickerConnectionType)type {
if (peerStatus == kServer) {
GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeServer];
return [session autorelease];
}
else {
GKSession *session = [[GKSession alloc] initWithSessionID:@"Josh_Land" displayName:nil sessionMode:GKSessionModeClient];
return [session autorelease];
}
}
Полный код ошибки:
Прослушивание порта 56386 2009-06-30 10: 31: 41.892 GKTank [17756: 20b] *** Завершение работы приложения из-за неперехваченного исключения «GKInvalidArgumentException», причина: «Должен быть предоставлен действующий объект GKSession с режимом GKSessionModePeer, или создать объект GKSession по умолчанию, возвращающий 'nil' в реализации -peerPickerController: sessionForConnectionType :. Поставленный объект был: отправлено 0 пакетов данных: rush (0 пакетов 0 байтов): rely (0 пакетов 0 байтов): rtry (0 пакетов 0 байтов): sack (0 пакетов 0 байтов): текущее средневзвешенное значение rtt (0 мс) с режим сеанса: 0 '2009-06-30 10: 31: 41.893 GKTank [17756: 20b] Стек: (807902715, 2452446779, 807986683, 807986522, 927035842, 927037074, 927038407, 815223834, 927038949, 9245, 851062, 81470949, 9245, 851062, 81470948 815119058, 815114270, 814813151, 814722763, 814748641, 839148405, 807687520, 807683624, 839142449, 839142646, 814752238)