iPhone: тестирование push-уведомлений на производственном сертификате - PullRequest
26 голосов
/ 20 июня 2011

У меня быстрый вопрос.Я тестировал сертификат push-уведомлений от разработки для своего приложения для iPhone, и он работал нормально.Я просто хочу знать, можно ли протестировать производственный сертификат перед отправкой заявки в AppStore?Я попытался, но сообщение не приходит, когда я использую производственный сертификат.Требуется ли для Apple наличие приложения в AppStore при использовании производственного сертификата?

Спасибо.

Ответы [ 3 ]

36 голосов
/ 20 июня 2011

Если вы создадите специальный профиль, то обнаружите, что он использует производственный сертификат, что, возможно, является самым простым способом его проверки.

ОБНОВЛЕНИЕ:

См. документация Apple здесь

Есть несколько шагов к этому, но по сути;

1) Руководителю группы необходимо создать новый профиль обеспечения DISTRIBUTION.Это делается путем выбора «Ad Hoc», а не «App Store» при создании нового профиля.Обратите внимание на то, что вы не можете использовать для этого идентификатор приложения с подстановочными знаками, у вас должен быть определенный идентификатор приложения для приложения, хотя вполне возможно, что он уже есть.

2) Настройте свою систему так, чтобы собратьдля архива используется только что созданная конфигурация Ad Hoc, шаги, необходимые для его настройки, хорошо документированы в Интернете, вот один пример .

3) Теперь, когда вы распространяете .ipa на устройствапривязавшись к вашему профилю предоставления Ad Hoc, вы обнаружите, что система push-уведомлений использует производственные серверы.

Кроме того, я считаю, что testflightapp действительно полезен для управления распределением сборок Ad Hoc, и хотя яЯ только недавно обнаружил это, это экономит мне часы в настоящий момент, так как я нахожусь в процессе запуска программы бета-тестирования.

8 голосов
/ 26 июня 2015

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

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

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

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

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

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

Существуют строгие контрольные списки, которые следует учитывать при тестировании push-уведомлений для среды разработки. Большинство из них уже упоминалось выше. Но это то, что решило мою проблему, и я хотел бы поделиться. Надеюсь, это кому-нибудь поможет. И это:

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

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
       NSString *deviceTokenStr = [[[[deviceToken description]
                                      stringByReplacingOccurrencesOfString: @"<" withString: @""]
                                     stringByReplacingOccurrencesOfString: @">" withString: @""]
                                    stringByReplacingOccurrencesOfString: @" " withString: @""];
       UIAlertView *alert= [[UIAlertView alloc]initWithTitle:deviceTokenStr message:Nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
}
5 голосов
/ 18 августа 2014

Альтернативный

Если вы хотите сэкономить еще больше времени, а debug 1 протестируйте эти уведомления в производственной среде, не выполняя каждый раз сборку и распространение, выполните следующие действия:

  1. Создайте и установите свой профиль обеспечения распространения,
  2. Создайте новую схему, используя конфигурацию Release вместо Debug (инструкции см. Во 2-й части поста) и выберите ее,
  3. Убедитесь, что вы выбрали свой профиль распространения для конфигурации выпуска в соответствии с настройками целевой сборки вашего приложения,
  4. Rock'n'roll!

Как создать новую схему

  1. Нажмите на название вашего приложения, в левом углу:

    enter image description here

  2. Выберите «Новая схема ...» и дайте ей имя,

  3. Затем отредактируйте его, снова открыв это меню и выбрав «Редактировать схему ...»,
  4. Выберите «Release» в разделе «Build configuration»:

    enter image description here

  5. Выберите его, чтобы он появился в верхнем левом углу, и все готово!

1: для отладки нельзя использовать ни дистрибутив, ни специальную подготовку, см. этот поток

...