2016-07-26 185 views
0

我创建了一个接收远程推送规范的代码,该代码工作正常。现在我需要添加两个“按钮”,它们可以甩开并执行一个动作。我知道这下面的代码是用来indetify动作远程推送通知操作

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

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

    completionHandler() 
} 

,但我不知道如何创建按钮SWIP离开。我该怎么办呢

这是我的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) 
} 

回答

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) 
    

当应用程序被启动,你要推CMD + 大号

这里有一个link to an example