2016-06-17 11 views
4

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

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

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

ответ

12

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

+0

Здравствуйте, я пытаюсь сделать push-уведомление на ios 10, я успешно реализую локальный, и я могу зарегистрироваться, вы сказали (токен и все), но когда я вызываю push-уведомление с моего сервера, i получил «Связанный сокет для APNS не был доступен». вы столкнулись с этой проблемой? thx – Bastien

+0

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

+0

Кажется, что бета-версии удаленных уведомлений полностью перестали работать – Alexey

1

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

государства: 1. Неопределенные - currentUserNotificationSettings равно нулю или считать категорий равно 0 2. APLIED - currentUserNotificationSettings равны тем, которые были запрошены registerUserNotificationSettings: 3. Запрещенные - currentUserNotificationSettings не равны ..

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

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

5

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

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

+0

Точно так же происходит и здесь, даже после использования новых вызовов 'UserNotifications.framework'. –

+0

Такая же проблема и здесь. У кого есть решение для этого? – Kai

+0

Просто нашел решение: не вызывайте регистрацию. См. Apple Docs https://developer.apple.com/reference/uikit/uiapplication/1623093-unregisterforremotenotifications? language = objc – Kai