Расширение службы уведомлений не копируется при развертывании - PullRequest
0 голосов
/ 20 апреля 2020

После автоматического обновления и перезагрузки c OSX и XCode мое расширение службы уведомлений больше не устанавливается с моим приложением.

Если я установлю схему на свое приложение и запустю ее, расширение уведомления не будет вызываться на моем устройстве. Если я установлю схему на расширение и выберу свое приложение для запуска, то все будет нормально.

Я сделал git diff между версией кода, которая работала, и той, которая не работает и ничего не стоит. вне. Я удалил все и пошел к самым голым костям, которые я могу себе представить:

import UserNotifications

class NotificationService: UNNotificationServiceExtension {

    var contentHandler: ((UNNotificationContent) -> Void)?
    var bestAttemptContent: UNMutableNotificationContent?

    override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        self.contentHandler = contentHandler
        bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)

        if let bestAttemptContent = bestAttemptContent {
            bestAttemptContent.body = "modified content here"
            contentHandler(bestAttemptContent)
        }
    }

    override func serviceExtensionTimeWillExpire() {
        // Called just before the extension will be terminated by the system.
        // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
        if let contentHandler = contentHandler, let bestAttemptContent =  bestAttemptContent {
            contentHandler(bestAttemptContent)
        }
    }
}

Я проверил фазы сборки, и, похоже, соответствующие настройки верны: Extension Settings App Settings

Я вижу, что он должен быть встроен, а источники настроены правильно. Где-то еще есть настройка? Я перезагрузил ОС и устройство снова. Стоит отметить, что у меня не было проблем с этим до обновления.

...