远程推送通知操作

时间:2016-07-26 12:31:00

标签: swift2 apple-push-notifications

我创建了一个接收远程推送通知的代码,这段代码运行正常。现在我需要添加两个“按钮”,向左滑动并执行操作。我知道下面这段代码用于说明行动

func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler: () -> Void) {  

    if identifier == "optin1" {  
        //do something  
    }  
    else identifier == "option2" {  
        //do something  
    }  

    completionHandler()  
}  

但我不知道如何创建按钮向左滑动。我怎么能这样做

这是我的AppDelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool   
{   
    // Override point for customization after application launch.   
  let types:UIUserNotificationType = [.Alert, .Sound, .Badge]  


    application.registerForRemoteNotifications()   
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: types, categories: nil))  

    initLocationManager()   

    return true   

}   
func application(application: UIApplication,    didFailToRegisterForRemoteNotificationsWithError error: NSError) {   
    //print(error)   
}   

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {   

    print(deviceToken)   

}   


func application(application: UIApplication, didReceiveRemoteNotificationuserInfo userInfo: [NSObject : AnyObject]) {   
    print(userInfo)   
}   

1 个答案:

答案 0 :(得分:0)

您可以在didFinishLaunchingWithOptions方法中复制并粘贴此代码:

  1. 创建动作

    // NOTFICATION
    let incrementAction = UIMutableUserNotificationAction()
    incrementAction.identifier = "HI_ACTION"
    incrementAction.title = "Hi!"
    incrementAction.activationMode = UIUserNotificationActivationMode.Background
    incrementAction.authenticationRequired = false
    incrementAction.destructive = false
    
  2. 创建类别

    let counterCategory = UIMutableUserNotificationCategory()
    counterCategory.identifier = "HELLO_CATEGORY"
    
  3. 关联行动和类别

    counterCategory.setActions([incrementAction],
                               forContext: UIUserNotificationActionContext.Default)
    counterCategory.setActions([incrementAction],
                               forContext: UIUserNotificationActionContext.Minimal)
    
  4. 注册

    let categories = NSSet(object: counterCategory) as! Set<UIUserNotificationCategory>
    let settings = UIUserNotificationSettings(forTypes: [.Alert, .Sound], categories: categories)
    UIApplication.sharedApplication().registerUserNotificationSettings(settings)
    
  5. 最后一步仅用于演示

    let notification = UILocalNotification()
    notification.alertBody = "Hey!"
    notification.soundName = UILocalNotificationDefaultSoundName
    notification.fireDate  = NSDate(timeIntervalSinceNow: 5)
    notification.category  = "HELLO_CATEGORY"
    
    UIApplication.sharedApplication().scheduleLocalNotification(notification)
    
  6.   

    当应用程序启动时,您必须按 CMD + L

    这是link to an example

相关问题