前言:
當收到推送消息時,若需要對遠程推送的消息進行一定的修改操作時,可以使用NotificationServiceExtension通知拓展服務(wù),由于NotificationServiceExtension是一個獨立的拓展服務(wù),因此,證書與app的Bundle ID都是獨立的一套。
1.新建NotificationServiceExtension
點擊New->Target->Notification Service Extension,如圖:

2.NotificationService類說明
NotificationService類有兩個方法,- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler;里面可以處理遠程推送內(nèi)容,修改遠程推送內(nèi)容的時間是有限的(不超過30S)。如果修改內(nèi)容任務(wù)沒有完成,系統(tǒng)會調(diào)用第2個方法serviceExtensionTimeWillExpire,給你提供最后一次提供修改內(nèi)容的機會。如果你沒有修改遠程推送成功,系統(tǒng)將會展示遠程推送最原始的內(nèi)容
3.推送服務(wù)拓展的Bundle Id的證書配置?
至此的話,NotificationServiceExtension就差不多了
如果需要在NotificationServiceExtension與主項目之間進行數(shù)據(jù)交流,則可以使用App Group。