Обработчик выполнения достижений не обнаруживает, когда отсутствует доступ к Интернету - PullRequest
1 голос
/ 23 апреля 2011

Я добавляю достижения Game Center в игру, которую разрабатываю Я сейчас пытаюсь управлять теми случаями, в которых возникает ошибка. Apple Game Kit Dev. Руководство говорит, что это можно сделать с помощью следующего кода

[achievement reportAchievementWithCompletionHandler:^(NSError *error){ 
if (error != nil) {
// Retain the achievement object and try again later (not shown).
}}]

Вы ассоциируетесь со своим достижением, когда пытаетесь добавить его.

Поэтому я пытаюсь вызвать ошибку.

Для этого я запускаю игру с включенным WIFI, отключаю WIFI-соединение и играю с игрой, чтобы достичь достижения.

К сожалению, я всегда получаю сообщение об ошибке = ноль

Как это возможно?

Ответы [ 2 ]

0 голосов
/ 19 июля 2012

чтение http://developer.apple.com/library/ios/#documentation/GameKit/Reference/GKAchievement_Ref/Reference/Reference.html:

ошибка: если операция прошла успешно, это значение равно нулю;в противном случае этот параметр содержит объект, описывающий возникшую проблему.

О сетевой ошибке:

В iOS 5.0 и более поздних версиях задача фоновой отчетности автоматически обрабатывает сетевые ошибкиот имени вашей игры.

Если я понимаю, что для вас исправлены сетевые ошибки, на уровне приложений ничего не поделаешь.

0 голосов
/ 19 июля 2012
[achievement reportAchievementWithCompletionHandler:^(NSError *error){ 
   if ([[error loacalizedDescription] isEqualToString: "no internet connection"]) {
         NSLog("Connection failed");
    }
}}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...