iOS通知中心注册

时间:2015-06-04 06:37:49

标签: ios objective-c notifications uikit apple-push-notifications

我想制作一款测试本地通知的游戏。在iOS 8中,代码涉及以下步骤:

  1. 创建一个UIMutableUserNotificationCategory对象,该对象是您要实现的自定义操作的类别。
  2. 使用UIMutableUserNotificationAction个实例制作最多4个自定义操作。
  3. 致电setActions:forContext:以设置自定义操作。
  4. 制作一个UIUserNotificationSettings对象并在其上调用settingsForTypes:categories:
  5. 通过在共享的registerUserNotificationSettings:实例上调用UIApplication来注册应用程序的用户通知设置。
  6. 我的问题是,对于步骤4中提到的UIUserNotificationSettings,您如何为更多类别注册申请?可以为其设置的值是:

    • UIUserNotificationTypeAlert(仅显示提醒)
    • UIUserNotificationTypeBadge(只显示徽章)
    • UIUserNotificationTypeSound(只播放声音)
    • UIUserNotificationTypeNone(什么都不做)

    听起来应用程序应该能够轻松地显示警报,显示徽章和显示声音。但是,在通知触发之前,必须注册所有这三个。该参数采用NSUInteger

    我的问题是,如何创建它以便它可以访问所有三个权限?你不能将NSArray传递给它,所以应该有另一种我没有看到的方式......

2 个答案:

答案 0 :(得分:2)

以此为例,说明如何添加多个类别

UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];

答案 1 :(得分:1)

以此为例:

[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];

[[UIApplication sharedApplication] registerForRemoteNotifications];