当前位置: 首页 > 面试题库 >

在iOS 10-Swift 3中添加本地通知

颜瀚漠
2023-03-14
问题内容

因此,我一直在尝试向新的UNUserNotificationCenter添加通知,但似乎没有收到。

我的视图控制器有一个动作:

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

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

    // Deliver the notification in five seconds.
    let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 5, repeats: false)
    let request = UNNotificationRequest.init(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")
}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    let center = UNUserNotificationCenter.current()
    center.requestAuthorization([.alert, .sound]) { (granted, error) in
    }
}

而且我Notification Content Extension在项目中也有一个,但是它似乎根本没有被触发,我缺少什么主意?我正在尝试用户文档中的示例,但并没有告诉我更多信息,或者我错过了它。

此处:https
:
//developer.apple.com/reference/usernotifications/unmutablenotificationcontent

另外:https :
//developer.apple.com/reference/usernotificationsui
https://developer.apple.com/reference/usernotifications

编辑:

因此,将应用程序置于后台就可以了。


问题答案:

您需要注册通知。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        let center = UNUserNotificationCenter.current()
        center.requestAuthorization([.alert, .sound]) { (granted, error) in
            // Enable or disable features based on authorization.
        }
        return true
    }

编辑: 您无需将应用置于后台即可从iOS 10开始显示通知。

使用下面的回调将通知配置为呈现在前台。

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)

这是一个示例项目。



 类似资料:
  • 本文向大家介绍iOS10添加本地推送(Local Notification)实例,包括了iOS10添加本地推送(Local Notification)实例的使用技巧和注意事项,需要的朋友参考一下 前言 iOS 10 中废弃了 UILocalNotification ( UIKit Framework ) 这个类,采用了全新的 UserNotifications Framework 来推送通知,从此

  • 导航到aar中包含的一个类,并尝试通过“attach source”来处理javadocs 添加包含doc=docs/library-javadoc.jar的library.aar.properties 将javadoc.jar打包到classes.jar旁边的library.aar中 环境: Android-Studio 0.8.2 gradle plugin 0.12 ATM可能是不可能的(请

  • 有多个例子,您应该如何设置您的项目添加丰富的通知,使用‘媒体附件’技术显示图像。我读过其中的大部分,但有些东西我错过了,因为我的项目没有显示任何带有该有效负载的丰富通知(用APNS-Tool和Boodle测试): 通知是可见的,但在3D Touch上,没有额外的信息显示(如图像或修改的标题)。通知扩展断点和消息也不起作用。 下面是我的演示项目:https://github.com/gklka/ri

  • 开始使用Azure数据工作室并为系统中的一些SQL进程创建留档。 作为其中的一部分,我需要在文档中包含一个流程图。目前我已经将图像上传到URL,并且能够从URL将图像嵌入文档中。 但是否有任何方法可以包含本地文件夹中的图像?请协助。

  • 问题内容: 如何在jsfiddle中添加JSON文件?我有一个JSON文件,但无法将其附加到jsfiddle中。我可以制作一个JSON对象并使用它,但是有什么方法可以将外部JSON文件添加到小提琴中? 问题答案: 您可以利用跨域资源共享(CORS)的功能来完成您的任务。 基本上,CORS的工作原理是,如果在HTTP响应中设置了标头,则无论AJAX加载的内容位于同一域还是其他域中,都可以在我们的脚本

  • 我想将一个外部字体添加到我的git页面,我的目录中有这个字体,但不能让它在https://github.com/aadesh9985/aadesh9958.github.io页面上工作 我的页面https://aadesh9985.github.io/aadesh9958.github.io/我尝试过不同的方法,但没有任何帮助... 此外,我还看到了可以向GitHub页面添加自定义字体