简而言之: 我可以添加自定义输入文本框以响应推送通知。我只是无法启动相关的应用程序委托以实际处理来自用户的输入。
我有两个自定义操作,例如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
只触发第一个方法。
我也可以在我的应用中正确设置背景模式。
答案 0 :(得分:0)
您应该实施以下方法。
responseInfo
UIUserNotificationActionResponseTypedTextKey
字典包含{{1}}键,其中包含用户输入的文本响应。