我们知道当推送通知横幅准备好呈现时调用此函数。
-(void)userNotificationCenter:(UNUserNotificationCenter* )center
willPresentNotification:(UNNotification* )notification
withCompletionHandler:(void (^)(UNNotificationPresentationOptions
options))completionHandler{
}
在此功能中,有一个类(UNNotification)通知,其中包含将在横幅上显示的信息。 现在的问题是我们可以在应用程序中更改Push通知的内容吗? 我可以用这种方式存储所有内容。
NSString *title=notification.request.content.title;
NSString *subTitle=notification.request.content.subTitle;
等等。 但问题是那些属性(title,subTite)只是只读。 有没有办法在这个完成处理程序或其他方法中更改内容?
答案 0 :(得分:4)
创建NotificationService扩展程序。当您在有效负载的aps内发送mutable-content标志为1时,iOS系统会启动您的扩展并让您有机会更改通知内容。即使您的应用处于被杀死状态,这也会有效。唯一不足的是,这仅适用于iOS 10及更高版本。