xcode 8 beta ios 10 push-уведомления перестали работать

После перехода на бета-версию xcode 8 мои push-уведомления перестали работать.

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

Просто интересно, нужно ли мне внести какие-либо изменения или это не будет работать с бета-версией xcode.


person alionthego    schedule 17.06.2016    source источник


Ответы (3)


В целях, в разделе «Возможности и push-уведомления», мне нужно было добавить право на push-уведомление в мой файл прав. Это было сделано, просто нажав кнопку, которая появилась здесь с сообщением об ошибке.

person alionthego    schedule 18.06.2016
comment
Здравствуйте, я пытаюсь заставить push-уведомление работать на ios 10, я успешно реализовал локальный, и я могу зарегистрироваться, как вы сказали (токен и все такое), но когда я запускаю push-уведомление с моего сервера, я получаю A подключенный сокет к APNS был недоступен. вы сталкивались с этой проблемой? спасибо - person Bastien; 29.06.2016
comment
Здравствуй. я не сталкивался с этой проблемой. моя проблема заключалась в отсутствующем файле прав. Я бы посоветовал дважды проверить ваши сертификаты и профиль. вам нужен только профиль, автоматически сгенерированный xcode и начинающийся с XC. Кроме того, если вы используете testflight, убедитесь, что вы используете производственный сертификат на своем сервере. ваша ошибка может означать, что вы используете неправильный сертификат. хотя не уверен, что это ваша проблема. - person alionthego; 29.06.2016
comment
Кажется, в beta3 удаленные уведомления перестали работать полностью - person Alexey; 19.07.2016
comment
Для меня проблема заключалась в том, что когда я впервые зарегистрировался, я получил токен. Но когда я отменяю регистрацию токена, а затем пытаюсь повторно зарегистрировать токен, метод делегата токена не вызывается. Теперь, если я выключу и включу устройство, оно работает нормально. - person Rupesh; 17.08.2016
comment
У меня то же самое, что и у @Rupesh - person kokluch; 19.09.2016
comment
@kokluch и Рупеш, я тоже - person Alon Amir; 20.09.2016

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

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

person Rupesh    schedule 17.08.2016
comment
Здесь происходит то же самое, даже после использования новых вызовов UserNotifications.framework. - person Alon Amir; 20.09.2016
comment
Та же проблема и здесь. У кого-нибудь есть решение для этого? - person Kai; 21.09.2016
comment
Просто нашел решение: не звоните, отмените регистрацию. См. документацию Apple developer.apple.com/reference/uikit/uiapplication. / - person Kai; 21.09.2016
comment
@kai: это не решение, я думаю, что пока это обходной путь. - person Rupesh; 21.09.2016
comment
Я вижу на новом тестовом устройстве, что мои уведомления работают правильно только при первой отладке. Каждый последующий запуск приводит к тому, что консоль выдает, что был обнаружен совершенно неизвестный токен. Так странно. - person drew..; 16.10.2016
comment
@Rupesh, согласно документам Apple, вам действительно следует вызывать отмену регистрации в редких случаях: этот метод следует вызывать только в редких случаях, например, когда новая версия приложения удаляет поддержку всех типов удаленных уведомлений. Пользователи могут временно запретить приложениям получать удаленные уведомления в разделе «Уведомления» приложения «Настройки». Приложения, незарегистрированные с помощью этого метода, всегда можно зарегистрировать повторно. Для меня это решение и остается. - person Kai; 09.08.2017

В моем проекте push-уведомления правильно работали на iOS 9 и не работали на iOS 10. В моем проекте есть модель уведомлений, которая позволяет включать/отключать push-уведомления с начального экрана справки и экрана настроек. И состояние этой модели было основано на UIUserNotificationSettings, которые могут быть получены из системы (registerUserNotificationSettings: и currentUserNotificationSettings).

Состояния: 1. UNDEFINED - currentUserNotificationSettings равен nil или количество категорий равно 0 2. APLIED - currentUserNotificationSettings равны тем, которые были запрошены registerUserNotificationSettings: 3. DENIED - currentUserNotificationSettings не равны...

Как я уже сказал, в iOS 9 эта модель работает хорошо, но в iOS 10 ее состояние никогда не становится НЕОПРЕДЕЛЕННЫМ, потому что количество категорий currentUserNotificationSettings не равно нулю, даже если приложение было переустановлено.

Таким образом, состояние модели становится DENIED при запуске приложения, и оно вообще не вызывает registerUserNotificationSettings: (предполагается, что пользователь отклонил push-уведомления).

person maxibystro    schedule 13.08.2016