我想知道我们应该在swift 3.0中使用哪个委托函数,而不是:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)

对于处理通知,当作为此委托函数接收时,将不推荐使用。我也检查了这个链接:
UILocalNotification is deprecated in iOS10但未找到接收代表。
如果我使用相同的委托函数,则不会调用委托。
谢谢。

最佳答案

我认为你的案例有一个误解UILocalNotification到目前为止已被否决(正如你在问题中已经提到的“UILocalNotification is deprecated in iOS10”),这就是你要问的:
在iOS10(Swift 3.0)中不推荐使用UILocalNotification接收函数
但是方法:userNotificationCenter(_:didReceive:withCompletionHandler:)UILocalNotification无关,相反,它与UserNotifications框架相关,后者确实支持iOS 10(如其文档中所述):
ios - iOS10(Swift 3.0)中不推荐使用UILocalNotification接收功能-LMLPHP
因此,基本上,应该使用UserNotification而不是-deprecated-UILocalNotification,因此:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void)

在iOS10上应该可以正常工作。

关于ios - iOS10(Swift 3.0)中不推荐使用UILocalNotification接收功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48679958/

10-13 21:28