iOS - 向远程通知添加操作。我错过了什么?

iOS - Adding actions to remote notifications. What am I missing?

我正在尝试向 iOS 远程通知添加一个操作。

这是我发送给休斯顿的命令 (https://github.com/nomad/houston)

apn push "APNS_TOKEN_HERE" -c /Users/johannwerner/Desktop/apple_push_notification.pem -P '{"aps":{"alert":{"action-loc-key":"OK","title":"hello","body":"Hello"},"category":"ACTIONABLE"}}' 

当应用程序从推送通知启动并且我从 didFinishWithOptions 方法记录 launchOptions 时,我得到以下信息

{
    UIApplicationLaunchOptionsRemoteNotificationKey =     {
        aps =         {
            alert =             {
                "action-loc-key" = OK;
                body = Hello;
                title = hello;
            };
            category = ACTIONABLE;
        };
    };
}

当我在代码中注册通知时,我使用了以下内容。

if (NSClassFromString(@"UNUserNotificationCenter")) {

    UNNotificationAction* snoozeAction = [UNNotificationAction
                                          actionWithIdentifier:@"SNOOZE_ACTION"
                                          title:@"Snooze"
                                          options:UNNotificationActionOptionNone];

    UNNotificationCategory* generalCategory = [UNNotificationCategory
                                               categoryWithIdentifier:@"GENERAL"
                                               actions:@[snoozeAction]
                                               intentIdentifiers:@[@"ACTIONABLE"]
                                               options:UNNotificationCategoryOptionCustomDismissAction];



    UNAuthorizationOptions options = (UNAuthorizationOptionBadge | UNAuthorizationOptionSound |UNAuthorizationOptionAlert);
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

    [center setNotificationCategories:[NSSet setWithObjects:generalCategory, nil]];

    center.delegate = self;
    [center requestAuthorizationWithOptions:options completionHandler:^(BOOL granted, NSError * _Nullable error)
     {
         if( !error ){
             [Localytics didRequestUserNotificationAuthorizationWithOptions:options
                                                                    granted:granted];
             [[UIApplication sharedApplication] registerForRemoteNotifications];
         }

         [[NSNotificationCenter defaultCenter] postNotificationName:PUSH_DELEGATE_AFTER_REGISTERED  object: nil];
     }];
}

我收到的推送包含我的标题和 "hello" 的 body 文本,但推送通知上没有按钮或操作。

我已经阅读了本指南https://nrj.io/simple-interactive-notifications-in-ios-8/

以及苹果文档 https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1 有效载荷

https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SupportingNotificationsinYourApp.html 用于向通知添加操作。

终于找到了。在我的有效负载中,我将类别作为字符串 "actionable" 发送。应该是"GENERAL"