好吧,我一直在試圖創建自己的GKSession對象和委託方法是給我的,我還沒有想出如何解決,只是還沒有控制檯的錯誤。我想知道是否有人有任何建議或遇到過這個問題? *請注意 - 我的代碼中的其他地方定義了變量peerStatus。對等體可以被賦予「kServer」或「kClient」的狀態。我寧願將每個定義在GKSessionModeServer或GKSessionModeClient中,因爲我讀過如果對等體位於GKSessionModePeer中,性能時間實際上比較慢,因爲它必須同時執行客戶機和服務器的工作。GKSession問題 - Objective-C中的GameKit
- (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' ,reason:'必須提供帶有GKSessionModePeer模式的vaild GKSession對象,或者在實現-peerPickerController:sessionForConnectionType:時創建默認的GKSession對象返回'nil'。提供的對象是:發送0數據包:rush(0包0字節):依賴(0包0字節):rtry(0包0字節):sack(0包0字節):當前加權平均rtt會話模式:0' 2009-06-30 10:31:41.893 GKTank [17756:20B]堆棧:( 807902715, 2452446779, 807986683, 807986522, 927035842, 927037074, 927038407, 815223834, 927038949, 9245, 8562, 814709201, 815110321, 815119058, 815114270, 814813151, 814722763, 814748641, 839148405, 807687520, 807683624, 839142449, 839142646,)
如果您發佈了您收到的錯誤,這將會有所幫助。 – 2009-06-30 14:33:06
對不起,我現在編輯了錯誤代碼的帖子。它實際上工作,如果我運行配置GKSession GKSessionModePeer兩個,但我試圖遠離形式。我寧願將會話指定爲服務器或客戶端模式。我想知道現在是否有可能(它剛剛出現,代碼中是否存在一些錯誤?)還是我的代碼? – 2009-06-30 14:55:09