2011-03-11 81 views
0

我收到總是失敗在我的cocos2d的,但是當我在我看來,基於應用程序中運行該項目,然後它會給我的成功,比分會很容易地提交得分submittion失敗

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error){ 
    if (error ==nil) { 
     NSLog(@"Success"); 
    } else { 
     NSLog(@"Fail"); 
    } 
}]; 


GKScore *myScoreValue = [[[GKScore alloc] initWithCategory:@"123"] autorelease]; 
myScoreValue.value = lastScore; 

[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){ 
    if(error != nil){ 
     NSLog(@"Score Submission Failed"); 
    } else { 
     NSLog(@"Score Submitted"); 
    } 

}]; 

回答

0

有你加入GameKit框架,以及;你在哪裏放置代碼?

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error){ if (error ==nil) { NSLog(@"Success"); } else { NSLog(@"Fail"); } 

}]; 

您必須在用戶啓動應用程序或調用viewDidLoad函數時進行身份驗證。

我不認爲我真的明白你的問題是什麼。你有什麼警告?

+0

錯誤域= GKErrorDomain代碼= 2「請求的操作已被取消。」 UserInfo = 0x232d10 {NSLocalizedDescription =請求的操作已被取消} – Chandaboy 2011-03-11 09:26:08

6

我也有這個錯誤。我認爲這發生在你登錄常規遊戲中心acct並嘗試用需要沙盒的應用程序進行驗證時。但我不確定,那只是一個猜測。

對我來說有效的是去註銷遊戲中心應用程序,然後再次嘗試應用程序,然後登錄或創建一個沙盒用戶。

雖然不是最具描述性的錯誤消息。

+0

我在模擬器中遇到問題,而我的遊戲中心代碼在設備中工作正常。問題原來是joeld所說的,模擬器已經連接到一個帳戶,每次嘗試連接時都會報錯。簡單的方式通過打開[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@「gamecenter:」]];來打開您的gamecenter帳戶。然後註銷並註釋url代碼。它也可能幫助你的情況 – guenis 2013-01-27 06:20:11