Push notification 无法在iOS10的通知服务扩展中修改或添加或删除有效负载的用户信息

Push notification 无法在iOS10的通知服务扩展中修改或添加或删除有效负载的用户信息,push-notification,apple-push-notifications,ios10,serviceextension,Push Notification,Apple Push Notifications,Ios10,Serviceextension,在通知服务扩展的短时间内 - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler 我可以修改除userInfo之外的UNMutableNotificationContent属性。获取用户信息词典的可变副本,并对其进行更改和重新设置是不起作用的。只需执行

在通知服务扩展的短时间内

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler  
我可以修改除userInfo之外的UNMutableNotificationContent属性。获取用户信息词典的可变副本,并对其进行更改和重新设置是不起作用的。

只需执行以下操作:

Swift 4:

bestAttemptContent?.userInfo.updateValue(“someValue”,forKey:“someKey”)
只需执行以下操作:

Swift 4:

bestAttemptContent?.userInfo.updateValue(“someValue”,forKey:“someKey”)

我还没有找到任何关于这方面的文档。但对我来说,当我试图在userInfo字典中将我的自定义类型设置为某个kvp的值时,它并没有起作用。常规字符串可以正常工作:

//可以很好地处理枚举字符串原始值。
bestAttemptContent.userInfo[“myEnumVariable”]=MyEnum.someCase.rawValue
//不起作用。
//仅显示原始推送,忽略通过通知扩展完成的所有更改。
bestAttemptContent.userInfo[“myEnumVariable”]=MyEnum.someCase

我还没有找到任何关于这方面的文档。但对我来说,当我试图在userInfo字典中将我的自定义类型设置为某个kvp的值时,它并没有起作用。常规字符串可以正常工作:

//可以很好地处理枚举字符串原始值。
bestAttemptContent.userInfo[“myEnumVariable”]=MyEnum.someCase.rawValue
//不起作用。
//仅显示原始推送,忽略通过通知扩展完成的所有更改。
bestAttemptContent.userInfo[“myEnumVariable”]=MyEnum.someCase