WatchKit handleActionWithIdentifier:不调用forRemoteNotification [英] WatchKit handleActionWithIdentifier : forRemoteNotification is not called

查看:122
本文介绍了WatchKit handleActionWithIdentifier:不调用forRemoteNotification的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个用于Apple Watch通知的简单静态接口,如下所示:

I have a Simple Static Interface for the apple watch notification as follow:

和PushNotificationPayload中的内容如下:

and in the PushNotificationPayload are as follow:

{
    "aps": {
        "alert": {
            "body": "123You have a new message",
            "title": "myApp"
        },
        "category": "respond"
    },

    "WatchKit Simulator Actions": [
        {
            "title": "View Message",
            "identifier": "viewMsgBtn"
        }
    ],

    "customKey": "customKey"
}

并在InterfaceController中实现该方法

and implement the method in InterfaceController

- (void)handleActionWithIdentifier:(NSString *)identifier
             forRemoteNotification:(NSDictionary *)remoteNotification
{
    NSLog(@"Handling remote notification: %@ with identifier: %@", remoteNotification, identifier);
//    [self.lbTest setText:[NSString stringWithFormat:@"Notification: %@",remoteNotification.description]];
}

然后我运行模拟器并发出通知:

and I run the simulator with notification:

InterfaceController中的awakeWithContext方法被调用,然后单击查看消息"按钮并将其加载到我的Apple Watch应用程序界面中.

the awakeWithContext method in InterfaceController is called, and after clicking the View Message button and it loads to my apple watch app interface.

InterfaceController中的willActivate方法被调用. 但是不调用handleActionWithIdentifier forRemoteNotification ... 有什么主意吗?

the willActivate method in InterfaceController is called. but the handleActionWithIdentifier forRemoteNotification is not called... any idea?

推荐答案

我在Swift中遇到了类似的情况,但是后来意识到我已经实现了

I was experiencing something similar (in Swift) but then realized I had implemented

handleActionWithIdentifier(identifier: String?, forRemoteNotification remoteNotification: [NSObject : AnyObject], withResponseInfo responseInfo: [NSObject : AnyObject])

代替

handleActionWithIdentifier(identifier: String?, forRemoteNotification remoteNotification: [NSObject : AnyObject])

前者适用于用户提供文字回复的情况,不适用于此处.

The former is for cases where the user provides a text response, which is not applicable here.

这篇关于WatchKit handleActionWithIdentifier:不调用forRemoteNotification的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆