Профили обеспечения для расширения услуг и расширения контента
Я пытаюсь реализовать расширенные уведомления в своем приложении для iOS, и при использовании расширения службы уведомлений и расширения содержимого уведомлений после запуска приложения я получаю сообщение об ошибке с идентичным идентификатором пакета. Для этих расширений мне нужно использовать отдельные профили обеспечения? Как один для моего кода, один для расширения службы уведомлений и один для расширения контента уведомлений?
2 ответа
Да, вы должны использовать отдельный профиль обеспечения для расширения службы уведомлений и расширения содержимого уведомлений. Для справки вы можете воспользоваться этой ссылкой.
https://mobisoftinfotech.com/resources/mguide/ios-10-rich-notifications-tutorial/
Сервисные расширения:
Класс точки входа расширения службы UNNotificationServiceExtension
Это переопределяет 2 метода:
func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
}
func serviceExtensionTimeWillExpire() {
}
Класс точки входа расширения контента - UIViewController, и он реализует протокол
func didReceive(_ notification: UNNotification) {
}
Да, вам необходимо создать отдельные сертификаты (разработку и выпуск) для расширения службы уведомлений .
Также вы должны включить ключ mutable-content и установить true в свою полезную нагрузку, как показано ниже.
{
"aps": {
"alert": {
"title": "test title",
"body": "test message"
},
"mutable-content": 1
},
and more...
}