Включение Apple Push-уведомлений для специальной среды распространения - PullRequest
13 голосов
/ 26 августа 2011

Я успешно внедрил APN для среды разработки.Но я сталкиваюсь с проблемами при реализации того же самого для специальной среды распространения.Кто-нибудь может предложить мне, нужно ли мне для этого создать другой идентификатор приложения, сертификат и профиль обеспечения?И есть ли какие-либо изменения в песочнице?Учебник по шагам будет очень ценен.

Спасибо Салил Карханис

Ответы [ 4 ]

26 голосов
/ 30 июня 2012

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

  1. В Provisioning Portal, создайте сертификат распространения.
  2. Получите «Идентификатор устройства» iPhone, который вы намереваетесьиспользовать для тестирования.Откройте iTunes -> Подключите свое устройство -> Выберите свое устройство -> В области сводных данных нажмите на ярлык с серийным номером, он изменится на идентификатор (40 шестнадцатеричных символов) -> Выберите «Изменить, Скопировать».
  3. На портале ProvisioningПерейдите в «Устройства» -> «Добавить новое устройство» -> введите скопированный идентификатор устройства и присвойте ему имя.
  4. На портале Provisioning создайте профиль обеспечения Distribution.(Перейдите в раздел «Подготовка» -> «Распространение»).Для типа распределения, проверьте «AdHoc».Выберите идентификатор приложения. Если у вас есть сертификат распространения, он будет автоматически выбран здесь.Выберите новое устройство и нажмите «Отправить».Загрузите этот Профиль обеспечения.
  5. В Xcode, Window -> Organizer.Нажмите «Устройства» и выберите «Библиотека» -> «Подготовка профилей».Если вы являетесь администратором, то при нажатии на кнопку «Обновить» следует получить только что созданный профиль обеспечения.Если нет, перетащите профиль обеспечения Adhoc в этот список.
  6. В Xcode, в вашем проекте Настройки сборки -> Идентификация подписи кода -> Раздел выпуска, выберите «Распространение iPhone».Для «Any iOS SDK» выберите только что созданный профиль обеспечения.Это будет доступно в списке.
  7. В Xcode, Product -> Archive.Как только он закончится, Архивация, он автоматически откроет окно Архива.Выберите проект и нажмите «Распространить». В окне «Распространение» выберите «Сохранить для Enterprise или AdHoc Deployment» -> выберите «Идентификатор подписи кода», который соответствует новому профилю обеспечения.Продолжите процесс, и это создаст файл ".ipa".
  8. Отправьте этот файл .ipa и новый профиль обеспечения для тестирования распространения adHoc.

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

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

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

  1. Используйте производственные сертификаты.
  2. Использовать производственный хост APN: gateway.push.apple.com
  3. Использовать производственный хост обратной связи APN: feedback.push.apple.com .
1 голос
/ 31 мая 2016

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

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

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken,
                           kGGLInstanceIDAPNSServerTypeSandboxOption:true]

на

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken,
                           kGGLInstanceIDAPNSServerTypeSandboxOption:false
1 голос
/ 29 января 2014

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

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

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

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

0 голосов
/ 15 июля 2014

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

...