Как я могу убедиться, что мое приложение для iPhone использует песочницу Game Center? - PullRequest
11 голосов
/ 14 октября 2010

Я разрабатываю игру для iPhone с интеграцией Game Center.Игра строится как Debug (не выпуск / распространение).На симуляторе Game Center всегда правильно использует песочницу.На самом устройстве iPhone в течение нескольких дней он будет использовать «песочницу», а затем вдруг решит использовать настоящие серверы Game Center (что приводит к ошибке, поскольку моя игра еще не выпущена).Уже несколько дней она избегает «песочницы», и я ненавижу тестировать на симуляторе.Есть идеи, как раз и навсегда заставить ее использовать песочницу во время разработки?

Вот соответствующая цитата из Руководства по программированию Game Kit :

разработчик, ваша учетная запись Game Center может войти в Sandbox для тестирования или в живую среду, но не в обе.Чтобы изменить учетную запись, в которую вы вошли, переключитесь на встроенное приложение Game Center и выйдите из системы, а затем запустите любое приложение с поддержкой Game Center.Если это приложение подготовлено к разработке, введите данные своей тестовой учетной записи, чтобы войти в «Песочницу».В противном случае введите данные своей действующей учетной записи, чтобы войти в действующую среду.

Насколько я могу судить, мое приложение подготовлено с использованием профиля обеспечения разработчика.Режим сборки установлен на Debug.Я вышел из Game Center на устройстве.Я также попытался выйти из Магазина для хорошей меры.

Ответы [ 6 ]

4 голосов
/ 09 февраля 2011

Удаление приложения, выход из приложения Game Center и переустановка игры из Xcode - вот что помогло здесь.

Предыдущая версия не имела интеграции с Game Center, и эта версия из App Store была установлена ​​на устройстве. Удаление и повторная установка из XCode, по-видимому, очистило некоторую устаревшую кэшированную информацию и позволило игре получить доступ к серверам Sandbox.

Кроме того, я последовал совету Apple из документации по использованию отдельной тестовой учетной записи, хотя я не думаю, что это помогло.

2 голосов
/ 30 марта 2012

У меня возникла та же проблема: Sandbox Game Center работал на некоторых устройствах, другие показывали страшное сообщение "эта игра не распознается игровым центром". Выход из игрового центра -> удалить приложение -> переустановить из решения XCode сделал свое дело. Спасибо всем за их предложения.

2 голосов
/ 06 декабря 2010

Просто нужно было добавить короткую заметку: после сброса симулятора iPhone я подумал, что это не имеет никакого значения, так как в диалоге входа не было строки "*** SANDBOX ***" (хотя моя сборка образец GKTapper сделал). В любом случае, когда я пошел, чтобы создать учетную запись, он подтвердил, что я подключен к песочнице.

2 голосов
/ 16 октября 2010

Я восстановил свой iPhone из резервной копии. Это привело к удалению всех профилей обеспечения и самой игры. Затем я использовал Xcode для установки и запуска игры, и песочница волшебным образом снова начала работать. Я не уверен, требовалось ли полное восстановление или просто удаление игры. Ранее я пытался удалить все профили обеспечения, но это не сработало. Я подозреваю, что восстановление, вероятно, было необходимо в моем случае.

Редактировать: Возможно, это мое воображение, но iOS 4.2, похоже, несколько улучшила стабильность песочницы. Я заметил, что устройство, кажется, регистрирует меня в песочнице даже на других играх выпуска на моем устройстве (игры других компаний). Кажется, он постоянно держит меня в режиме песочницы, пока я не выйду из системы. Я больше не экспериментировал, чтобы протестировать это в 4.2, так как мне не хочется восстанавливать мое устройство снова, если оно перестает работать.

2 голосов
/ 14 октября 2010

Руководство по программированию Game Center содержит раздел, описывающий, когда среда песочницы используется и не используется (прокрутите вниз до «Тестирование приложения Game Center»).

Из этой таблицы создается впечатление, что сборки разработчика всегда используют Sandbox, но это не совсем мой опыт. Однако у меня был опыт, что если я вышел из Game Center (используя приложение Game Center), когда я запускаю свое приложение (устройство или нет), оно предлагает мне войти в Sandbox. Я думаю, что именно то, что говорит доктор, теперь, когда я перечитываю это.

0 голосов
/ 20 августа 2015

С iOS 8 SandBox должен быть установлен вручную на вашем телефоне.Вы должны отметить в Настройках -> Game Center -> и включить ON Sandbox, иначе это не будет работать и с отладочными сертификатами, вход в Game Center не будет успешным.*

...