Подтвердить что ты не робот

Включение уведомлений Apple Push для среды распространения ad hoc

Я успешно применил APN для среды разработки. Но я сталкиваюсь с проблемами при их внедрении для среды распространения ad-hoc. Может кто-нибудь, пожалуйста, предложите мне, чтобы мне нужно было создать для него другой идентификатор приложения, сертификат и Provisioning Profile? И есть ли какие-либо изменения в Sandbox? Учебник по шагам будет очень полезен.

Спасибо Saleel Karkhanis

4b9b3361

Ответ 1

Для распределения Adhoc, пожалуйста, следуйте инструкциям ниже:

  • В Provisioning Portal создайте сертификат распространения.
  • Получите "Идентификатор устройства" iPhone, который вы собираетесь использовать для тестирования. Откройте iTunes → Подключите свое устройство → Выберите свое устройство → В сводной панели, щелкните по метке серийного номера, она изменится на идентификатор (40 шестнадцатеричных символов) → Выберите "Редактировать", "Копировать".
  • В портале Provisioning перейдите на Устройства → Добавить новое устройство → Введите скопированный идентификатор устройства и дайте ему имя.
  • В портале Provisioning создайте профиль распределения распределения. (Перейдите в раздел Предоставление → Распространение). Для типа распространения выберите "AdHoc". Выберите идентификатор приложения. Если у вас есть сертификат распространения, он будет автоматически выбран здесь. Выберите новое устройство и отправьте его. Загрузите этот профиль Provisioning.
  • В Xcode, Window → Organizer. Нажмите "Устройства" и выберите "Библиотека" → "Профилирование". Если вы являетесь администратором, нажмите кнопку "Обновить", чтобы получить вновь созданный профиль подготовки. Если нет, перетащите профиль предварительного присоединения в этот список.
  • В Xcode в вашем проекте "Настройки сборки" → "Идентификация подписи кода" → раздел "Отпуск", выберите "Распределение iPhone". Для "Any IOS SDK" выберите новый профиль Provisioning Profile. Он будет доступен в списке.
  • В Xcode, Продукт → Архив. После завершения архивации он автоматически откроет окно архива. Выберите проект и нажмите "Распространять". В окне "Распространение" выберите "Сохранить для Enterprise или AdHoc Deployment" → Выберите "Идентификация подписи кода", которая соответствует новому профилю Provisioning Profile. Продолжайте процесс, и это создаст файл .ipa.
  • Отправьте этот .ipa файл и новый профиль подготовки для тестирования дистрибутива adHoc.

Как загрузить дистрибутив adHoc на тестовом устройстве:

  • Откройте iTunes, подключите тестовое устройство.
  • Перетащите новый профиль подготовки в iTunes.
  • Перетащите файл .ipa iTunes.
  • Синхронизировать устройство. Это загрузило бы приложение.

Для Push-уведомлений для работы над распределением Adhoc:

  • Используйте сертификаты производства.
  • Использовать производственный APN Host: gateway.push.apple.com
  • Использовать продукцию APN Feedback Host: feedback.push.apple.com.

Ответ 2

У меня были серьезные проблемы с этим. У меня не было ошибок в коде. Я просто никогда не получал push-уведомление по телефону в Ad Hoc.

Оказывается, у меня была какая-то проблема с моими сертификатами. Я создал

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

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

Ответ 3

Существует отдельное постоянное соединение с услугой push для каждой среды (разработка и производство). Операционная система устанавливает постоянное соединение с средой песочницы для сборки разработки; специальные и распределенные сборки подключаются к рабочей среде.

Если вы используете GCM. Перейдите в свой AppDelegate.swift. Найти метод: didRegisterForRemoteNotificationsWithDeviceToken и заменить

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken,
                           kGGLInstanceIDAPNSServerTypeSandboxOption:true]

с

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken,
                           kGGLInstanceIDAPNSServerTypeSandboxOption:false

Ответ 4

В дополнение к Sushma Satish ответ, Когда вы меняете сертификаты от разработки до дистрибутива, токен устройства, созданный для вашего телефона, отличается. Поэтому убедитесь, что вы меняете токен устройства на сервере.