#swift #push-notification #apple-push-notifications #ios10 #unnotificationrequest
#swift #push-уведомление #apple — push-уведомления #ios10 #unnotificationrequest
Вопрос:
У меня есть простое приложение для работы с push-уведомлениями. У меня работает расширение службы уведомлений. Я могу отправить удаленное уведомление с URL-адресом изображения и загрузить его.
Кажется, я не могу заставить работать расширение содержимого уведомлений. Я просмотрел несколько руководств, и все они говорят: просто создайте расширение содержимого уведомлений в целевом меню, а затем в расширениях содержимого уведомлений Info.plist установите
UNNotificationCategory
к некоторой строке. Затем, когда вы нажимаете уведомление, внутри json-блока «точки доступа» убедитесь, что категория совпадает с UNNotificationCategory.
Когда я получаю уведомление, я пытаюсь провести его вниз, влево или вправо, и на самом деле ничего не происходит. Тем не менее, расширение службы работает отлично.
Я использую iPhone 5 с ios 10 и XCode 8.0. Я читал, что в какой-то момент только устройства с 3d touch могли просматривать расширение содержимого, но с тех пор это изменилось, поскольку xCode 8 вышел из бета-версии.
Есть идеи? Как я могу приступить к отладке этого? Я попытался запустить приложение с выбранным расширением уведомления и распечатать содержимое внутри
didReceive
но мне не повезло.
Ответ №1:
Комментарии:
1. Вы сэкономили часы на отладке. Спасибо
2. Вот почему я работал на устройстве iOS 12, вы сделали мой день
3. Потратил много времени, прежде чем выяснить, почему одно расширение работает, а другое нет, только чтобы узнать, что я забыл установить цель развертывания. Спасибо.
4. Я просто ЛЮБЛЮ тебя.
5. Ты сделал мой день, чувак! Так полезно! Спасибо
Ответ №2:
Пожалуйста, проверьте, задан ли идентификатор категории в вашем UNMutableNotificationContent()
для, например
let content = UNMutableNotificationContent()
content.categoryIdentifier = "awesomeNotification"
где «awesomeNotification» — это идентификатор вашего UNNotificationCategory
Комментарии:
1. Я делаю это с помощью удаленного уведомления, но я убедился, что поле «category» равно UNNotificationCategory внутри поля «точки доступа»
2. Это должен быть принятый ответ. Работает отлично. Так что да, не забудьте указать поле «категория» внутри узла «точки доступа» в полученном push-уведомлении 🙂
Ответ №3:
Такая проблема. Расширение содержимого iOS отлично работает с iPhone 5s, SE, iPad2mini, но не работает с iPhoine 5, 5c:
Значение UNUserNotificationCenter.current().supportsContentExtensions равно false на iPhoine 5, 5c
Комментарии:
1. Добро пожаловать в stackoverflow! Пожалуйста, обратите внимание, что этот ответ не очень полезен, тем более, что на вопрос уже есть принятый ответ.
Ответ №4:
Несмотря на то, что я читал в других разделах stackoverflow и в Интернете, расширение push-уведомлений не работало на iPhone 5 и IOS 10. Я позаимствовал iPhone 6 , и мой код работал нормально.
Комментарии:
1. Если вы считаете, что видите ошибку или документация отсутствует, обязательно откройте отчет об ошибке в Apple по адресу bugreport.apple.com
2. Я тестировал его на 5s и 6, и расширения работали абсолютно нормально.
3. У меня iPhone 5s, но он не работает. Ребята, помогите мне. есть идеи. UNNotificationExtensionCategory совпадает с APN и «mutable_content»: true
Ответ №5:
Для меня это было связано с изменением сертификатов подписи. Я смог решить это с помощью:
- Удаление приложения (и всех приложений в группе приложений)
- Перезапуск телефона
- Выход из Xcode
- Проект очистки
- Запуск снова