Проблемы с отчетами в Game Center - PullRequest
0 голосов
/ 24 октября 2011

Я разрабатываю приложение, которое сообщает счет в Game Center, используя приведенный ниже код (как предложено Apple).Моя проблема в том, что даже когда мой iPhone находится в режиме «В самолете», приложение не вызывает ошибку отчета о результатах.Он просто переходит в раздел «Submission ok» кода.Есть идеи почему?Спасибо!

    GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:category] autorelease];
    scoreReporter.value = score;

    [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) {
        if (error != nil)
        {
            // handle the reporting error
            NSLog(@"Error Descr %@",error.localizedDescription);
            NSLog(@"Error Code %@",error.code);    
            NSLog(@"Error Domain %@",error.domain);   
        }
        else {
            NSLog(@"Submission ok");
        }
    }];

Ответы [ 2 ]

1 голос
/ 20 ноября 2011

Начиная с iOS 5.0, любые сетевые ошибки, возникающие из reportScoreWithCompletionHandler, обрабатываются внутри GameKit.Это означает, что разработчикам больше не нужно беспокоиться о повторной отправке ожидающих результатов из-за сбоев сети.Если вы работаете с iOS 5.0 и более поздними версиями, обработчик завершения reportScoreWithCompletionHandler не будет получать никаких ошибок, связанных с сетью.

0 голосов
/ 24 октября 2011

Я бы предложил использовать флаги доступности Apple для самостоятельного обнаружения активного соединения.Если соединение недоступно, сохраните запросы Game Center для дальнейшей отправки и отправьте их, когда сеть снова станет доступной.Подробнее о достижимости можно узнать здесь

...