iOS 9+带文本输入的推送通知不会调用handleActionWithIdentifier:forRemoteNotification:withResponseInfo:

时间:2016-02-16 13:25:15

标签: objective-c apple-push-notifications

简而言之: 我可以添加自定义输入文本框以响应推送通知。我只是无法启动相关的应用程序委托以实际处理来自用户的输入。

我有两个自定义操作,例如acceptAction(一个简单的可操作操作)和replyAction(一个具有UIUserNotificationActionBehaviorTextInput行为)添加到自定义UIMutableUserNotificationCategory并添加了此类别到我的UIUserNotificationSettings。所有通知都会正确触发。所有按钮都显示为UIUserNotificationTypeAlert

acceptAction触发

- (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void(^)())completionHandler

我无法让replyAction同样开火。我可以看到一个文本框,可以输入数据,可以按发送,但之后没有效果。我实际上想要使用UIUserNotificationActionResponseTypedTextKey来捕获该输入文本。

我错过了什么?

额外信息:虽然我不知道为什么,如果我也实现了基本的

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

与其他方法一起,我可以看到replyAction触发了这个而不是另一个,而acceptAction只触发第一个方法。

我也可以在我的应用中正确设置背景模式。

1 个答案:

答案 0 :(得分:0)

您应该实施以下方法。

responseInfo


UIUserNotificationActionResponseTypedTextKey字典包含{{1}}键,其中包含用户输入的文本响应。