0

因为我没有 iWatch,所以我在谷歌上搜索了很多以找到在 WatchOS Simulator 上检查本地通知的方法。现在我已经实现了本地通知,但由于某种原因,通知显示在 iPhone 模拟器上,而不是 iWatch (WatchOS 2) 模拟器上。

我在中添加了以下代码applicationDidFinishLaunchingWithOptions:

UIMutableUserNotificationAction *action1;
    action1 = [[UIMutableUserNotificationAction alloc] init];
    [action1 setActivationMode:UIUserNotificationActivationModeBackground];
    [action1 setTitle:@"Action 1"];
    [action1 setIdentifier:kAction1];
    [action1 setDestructive:NO];
    [action1 setAuthenticationRequired:NO];

    UIMutableUserNotificationAction *action2;
    action2 = [[UIMutableUserNotificationAction alloc] init];
    [action2 setActivationMode:UIUserNotificationActivationModeBackground];
    [action2 setTitle:@"Action 2"];
    [action2 setIdentifier:kAction2];
    [action2 setDestructive:NO];
    [action2 setAuthenticationRequired:NO];

    UIMutableUserNotificationCategory *actionCategory;
    actionCategory = [[UIMutableUserNotificationCategory alloc] init];
    [actionCategory setIdentifier:kAction3];
    [actionCategory setActions:@[action1, action2]
                    forContext:UIUserNotificationActionContextDefault];

    NSSet *categories = [NSSet setWithObject:actionCategory];
    UIUserNotificationType types = (UIUserNotificationTypeAlert|
                                    UIUserNotificationTypeSound|
                                    UIUserNotificationTypeBadge);

    UIUserNotificationSettings *settings;
    settings = [UIUserNotificationSettings settingsForTypes:types
                                                 categories:categories];

    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];

您是否能够在模拟器中获得 WatchOS 本地通知的通知?

4

2 回答 2

2

在模拟器上运行您的手表应用程序,从iPhone模拟器安排notification并锁定iPhone模拟器屏幕,保持手表模拟器处于活动状态,在这种情况下,当触发通知时,它将在您的watch模拟器上交付。在实际设备上进行测试时也是如此。

于 2016-02-16T06:46:33.140 回答
0

不可能让 Watch 应用模拟器对 UILocalNotification 做出反应。但是,它几乎与对推送通知的反应相同,只是它通过几种不同的方法进行路由。

以下答案会有所帮助:来源:https ://stackoverflow.com/a/27278093/2798877

于 2016-02-09T13:13:59.637 回答