Как я могу обеспечить, чтобы мое приложение 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
иначе он не будет работать и с сертификатами отладки, имя Игрового центра не будет выполнено.
![введите описание изображения здесь]()