1

我创建了一个小型测试项目,启用了推送通知和远程通知,并添加了模板 NotificationServiceExtension。显示通知时,不会像模板建议的那样修改标题,也不能将调试器附加到模拟器上的扩展。

通知内容的 mutable-content 标志设置正确,所以我希望它被调用。

{
  "aps": {
    "alert": {
      "title": "Notification Title",
      "body": "Notification Body"
    },
    "badge": 0,
    "mutable-content": 1,
    "sound": "default",
    "category": "richMessage"
  }
}

我用来构建通知的代码:

guard let jsonResult = convertToDictionary(text: incomingData),
            let apsData = jsonResult["aps"] as? [String: Any],
            let alert = apsData["alert"] as? [String: String],
            let title = alert["title"],
            let body = alert["body"],
            let category = apsData["category"] as? String else { return }

        let localNotification = UNMutableNotificationContent()
        localNotification.title = title
        localNotification.body = body
        localNotification.categoryIdentifier = category

        let identifier = "SurveyIdentifier"
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
        let request = UNNotificationRequest(identifier: identifier, content: localNotification, trigger: trigger)
        UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
4

0 回答 0