Есть ли простая документация по реализации Game Center?
Я пытаюсь внедрить Game Center в свою игру для ios7 (Xcode 5), но материал в документах Apple и материалы, которые я видел в Интернете, похоже, работают не очень хорошо.
Это два основных метода, которые я использую, но при этом я не получаю ошибок, но я также не получаю никаких данных:
- (void) retrieveTopTenScores
{
GKLeaderboard *leaderboardRequest = [[GKLeaderboard alloc] init];
if (leaderboardRequest != nil)
{
leaderboardRequest.playerScope = GKLeaderboardPlayerScopeGlobal;
leaderboardRequest.timeScope = GKLeaderboardTimeScopeToday;
leaderboardRequest.identifier = kLeaderboardID;
leaderboardRequest.range = NSMakeRange(1,10);
[leaderboardRequest loadScoresWithCompletionHandler: ^(NSArray *scores, NSError *error) {
if (error != nil)
{
// Handle the error.
}
if (scores != nil)
{
// Process the score information.
} else {
NSLog(@"scores retrieved successfully but no scores in the leaderboard");
}
}];
}
}
-(void)submitMyScore
{
//This is the same category id you set in your itunes connect GameCenter LeaderBoard
GKScore *myScoreValue = [[GKScore alloc] initWithLeaderboardIdentifier:kLeaderboardID];
myScoreValue.value = 5123123;
[myScoreValue reportScoreWithCompletionHandler:^(NSError *error){
if(error != nil){
NSLog(@"Score Submission Failed");
} else {
NSLog(@"Score Submitted");
}
}];
}
Так что я ищу простой пример кода, чтобы сделать это успешно... спасибо богатым
2 ответа
Ответ заключается в том, чтобы отправить оценки в iOS7 в игровой центр
Game Center Helper/ Менеджер / Контроль (Объект).h
+ (gamecenterhelper/manager/control *)sharedInstance;
-(void)reportScore:(int64_t)score forLeaderboardID:(NSString*)identifier;
Game Center Helper/ Менеджер / Контроль (Объект).m
-(void)reportScore:(int64_t)score forLeaderboardID:(NSString*)identifier
{
GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier: identifier];
scoreReporter.value = score;
scoreReporter.context = 0;
NSArray *scores = @[scoreReporter];
[GKScore reportScores:scores withCompletionHandler:^(NSError *error) {
}];
}
viewcontroller.h
#import "gamecenterhelper/manager/control"
viewcontroller.m
[[gamecenterhelper/manager/control sharedInstance] reportScore:(int64_t) forLeaderboardID:(NSString*)];
//in place of int64_t place your integer you want uploaded, and instead on NNString* add your leaderboard identifier
Я не вижу ничего плохого в вашем коде. Аутентифицирован ли игрок, когда вы его запускаете? Какую ошибку вы получаете? Если вы ищете пример кода GameKit, в iOS 6 Advanced Cookbook от Erica Sadun есть кое-что, но вы ничего не сможете понять, читая API.