在ios10中添加自定义本地通知 - swift 3

Bja*_*rte 7 uilocalnotification swift swift3 ios10 unusernotificationcenter

我正在尝试添加自定义本地通知,但我只是通过我的操作获取股票通知:

在此输入图像描述

我的故事板看起来像这样(标准模板):

在此输入图像描述

我有一个UNNotificationExtensionCategory设置为awesomeNotification(在Info.plist中)的扩展名.此扩展的基础也是Notification Content来自的模板iOS - Application Extension.

在我的app委托中,我有这个:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let center = UNUserNotificationCenter.current()

    let actions = [UNNotificationAction.init(identifier: "Hey", title: "Yo", options: UNNotificationActionOptions.foreground)]

    let category = UNNotificationCategory(identifier: "awesomeNotification", actions: actions, minimalActions: actions, intentIdentifiers: [], options: [])
    center.setNotificationCategories([category])

    center.requestAuthorization([.alert, .sound]) { (granted, error) in
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

在我的主应用程序的viewcontroller中,我有以下操作来触发它:

@IBAction func sendPressed(_ sender: AnyObject) {
    let content = UNMutableNotificationContent()

    content.categoryIdentifier = "awesomeNotification"
    content.title = "Hello"
    content.body = "What up?"
    content.sound = UNNotificationSound.default()

    // Deliver the notification in five seconds.
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
    let request = UNNotificationRequest(identifier: "FiveSecond", content: content, trigger: trigger)

    // Schedule the notification.
    let center = UNUserNotificationCenter.current()
    center.add(request) { (error) in
        print(error)
    }
    print("should have been added")
}
Run Code Online (Sandbox Code Playgroud)

编辑

所以它适用于iPhone 6s/6s +,非常奇怪的行为: 在此输入图像描述

Eir*_*sen 5

更新:从iOS 10 beta 2开始,3D预触摸设备上也提供丰富的通知.下拉常规通知即可查看.

确保您在iPhone6s/iPhone6s以及模拟器/设备上进行测试,它似乎不适用于3D前触摸设备.

在iPhone6模拟器上,尝试单击并向下拖动您获得的股票通知,您应该会看到自定义UI.