【发布时间】:2017-03-24 01:35:16
【问题描述】:
当我们同时实现 didReceiveRemoteNotification 和 UNUserNotificationCenterDelegate 方法时,iOS 的行为方式 -
optional public func userNotificationCenter(_ center:
UNUserNotificationCenter, didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Swift.Void)
根据文档 didReceiveRemoteNotification 已被弃用,但如果应用程序同时实现了委托方法,那么 XCode 8 (swift 3) 上的 iOS 10 应用程序和 iOS 9 应用程序会调用哪一个?
【问题讨论】:
-
文档中哪里说
didReceiveRemoteNotification已弃用? -
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo NS_DEPRECATED_IOS(3_0, 10_0, "使用 UserNotifications Framework 的 -[UNUserNotificationCenterDelegate willPresentNotification:withCompletionHandler:] 或 -[UNUserNotificationCenterDelegate didReceiveNotificationResponse: withCompletionHandler:] 用于用户可见通知和 -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] 用于静默远程通知");
-
哦,好的,我明白了。老实说,我认为您的问题没有多大价值。只是不要这样做。结果出乎意料。一个更普遍的问题是this question,我想这就是你要问的意思