objective-c – iOS 9带文本输入的推送通知不调用handleActionWithIdentifier:forRemoteNotification:withResponseInfo:

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

我有两个自定义操作,比如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只触发第一个方法.

我也正确地在我的应用程序中正确设置了后台模式.

最佳答案
您应该实现以下方法. – (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void(^)())completionHandler

 responseInfo字典包含UIUserNotificationActionResponseTypedTextKey键,其中包含用户输入的文本响应.

转载注明原文:objective-c – iOS 9带文本输入的推送通知不调用handleActionWithIdentifier:forRemoteNotification:withResponseInfo: - 代码日志