2016-02-16 34 views
4

簡而言之: 我可以添加自定義輸入文本框來響應推送通知。我只是無法讓關聯的應用程序委託觸發以實際處理來自用戶的輸入。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火災只有第一種方法。

我也有適當的背景模式在我的應用程序正確設置。

+1

是否從textfield獲取文本? – Garry

回答

0

您應該實施以下方法。

-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)())completionHandler


responseInfo字典包含由用戶輸入的文本響應UIUserNotificationActionResponseTypedTextKey關鍵。