Intereting Posts
приложение заблокировано malloc -> OSSpinLockLock $ VARIANT $ mp как преобразовать NSDictionaryResults в NSManagedObject, iOS – проблема с памятью с AVAsset Прокрутка позиции iOS UITableView при прокрутке вверх Можно ли перегрузить оператор + = в Swift? Изменение значений UiPickerView в соответствии с вводом пользователя как я могу вернуться к моему приложению из приложения карты? Есть ли какие-либо методы делегата, чтобы скрыть Google Ads без кнопки добавления, чтобы скрыть цель объявления c? Будет ли Apple отклонять мое приложение, если я использую UUID устройства? Принятие Cocoapods в более сложном рабочем пространстве Как проверить, совпадают ли адрес и адрес запроса Можно ли использовать идентификатор продавца другого приложения для Apple Pay? Размытые изображения при рендеринге в PDF с использованием UIKit / Coregraphics UIManagedDocument и обработка данных в фоновом потоке Как узнать, загрузило ли AfNetworking все изображение

Оповещения о толковании продукции перестают работать после того, как они ранее работали

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

Одно из моих приложений, которое у меня есть в магазине, использует push-уведомления. Версия 1 приложения работала нормально. Нет проблем.

Я создал версию 1.1, протестировал ее на песочнице APNS (работал отлично) и отправил ее. Когда-то после одобрения 1.1 я заметил, что push-уведомления не работали. Мое устройство не получало никаких push-уведомлений и не было другого пользователя. Это, естественно, заставило меня поверить, что я придумал что-то с сертификатами или что-то в этом роде, когда я создал v 1.1. Я проверил все нормальные вещи – песочницу против производства, сертификаты, профили подготовки и т. Д. Никаких кубиков.

– Настройка сервера

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

(этот следующий бит является ключом к проблеме)

В записи пользователя в моей БД я отслеживаю, если пользователь установил версию приложения или производственную версию приложения. Я сохраняю это как флаг в записи пользователя. Я делаю это для удобства использования.

Для простоты у меня есть один сценарий, который обрабатывает пользователей разработки и отправляет их сообщения APNS на сервер песочницы и отдельный код, который отправляет сообщения APNS производственного пользователя на производственный шлюз APNS.

Все это прекрасно работает. Я сохраню вам все шаги по повторной аттестации и другое горе, которое я сделал.

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

Solutions Collecting From Web of "Оповещения о толковании продукции перестают работать после того, как они ранее работали"

Спустя слишком много часов, пытаясь понять, что происходит, я, наконец, решил проблему.

  1. Я превратил разработчика (iPhone моей жены) в производственного пользователя, так как я думал, что она загрузила производственный выпуск приложения
  2. Для этого пользователя мой сервер использовал идентификатор устройства, сгенерированный из приложения для разработки, и отправил его на сервер APNS
  3. Всякий раз, когда я отправлял этот идентификатор устройства на рабочий сервер в качестве одного из сообщений APNS, даже если бы я получил положительный ответ от серверов, ни одно из сообщений APNS для каких-либо других устройств не будет работать.

Как только я перевернул ее пользовательскую запись, чтобы стать устройством разработки, все снова начало работать.

Я несколько раз проверял, что это проблема.

Таким образом, похоже, что использование идентификатора deviceID, предназначенного для взаимодействия APNS с песочницей и отправки его в APNS, действительно подталкивает.

Надеюсь, это поможет кому-то в будущем.