Как я могу обеспечить, чтобы мое приложение iPhone использовало тестовую среду Game Center?

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

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

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

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

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

Из iOS 8 SandBox должен быть установлен вручную на вашем телефоне. Вы должны отметить в Настройках → Центр игр → и включить ВКЛ Sandbox иначе он не будет работать и с сертификатами отладки, имя Игрового центра не будет выполнено.

введите описание изображения здесь