2013-08-20 71 views
0

我用這個方法:不知道如何使用reportScores:withCompletionHandler:(崩潰)

- (void) reportScore: (int64_t) score forLeaderboardID: (NSString*) category 
{ 
GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier:category forPlayer:[GKLocalPlayer localPlayer].playerID]; 
scoreReporter.value = score; 
scoreReporter.context = 0; 
NSNumber *scoreToReport = [[NSNumber alloc] initWithInt:score]; 

[GKScore reportScores:[NSArray arrayWithObject:scoreToReport] withCompletionHandler:^(NSError *error){ 
    NSLog(error.localizedDescription); 
}]; 
} 

報告分數遊戲中心(已經取得了領先榜在iTunes Connect等),但這個錯誤當它到達reportScores方法時彈出: - [__ NSCFNumber leaderboardIdentifier]:無法識別的選擇器發送到實例。

它可能是什麼?謝謝!

(還有我用這個方法,而不是reportScoreWithCompletionIdentifier,但據我所知,我不能告訴它,因爲NDA的,但無論如何,這是使用類方法的正確方法?一個相當具體的理由)

回答

3

從GKScore documentation

+ (void)reportScores:(NSArray *)scores withCompletionHandler:(void (^)(NSError *error))completionHandler
參數
分數
的得分對象的數組報告遊戲中心。

請注意,它表示「分數對象數組」,而不是「NSNumbers數組」。換句話說,你的數組必須包含GKScore對象,而不是NSNumbers。

+0

大概讀得這麼快,沒有注意到...謝謝! –

相關問題