Профили обеспечения для расширения услуг и расширения контента

Я пытаюсь реализовать расширенные уведомления в своем приложении для 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...
}
Другие вопросы по тегам