【发布时间】:2016-09-29 19:00:35
【问题描述】:
所以我们都知道 Apple 在今年夏天推出了 UserNotifications 框架,这很棒。 根据 Apple 的 API 参考资料和关于此框架的 WWDC Session,我们现在有了一种注册推送通知的新方法,如下所示:
UNUserNotificationCenter.current().requestAuthorization(options: [options], completionHandler: {})
但显然这种方法不会从 APNs 服务器获取 deviceToken,因此 Apple 在 UIKit 中保留了一些 API,如下所示:
UIApplication.shared.registerForRemoteNotifications()
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data){}
这是注册和获取远程通知的deviceToken的两种方法。
因此,如果我只想注册远程通知,我是否还需要做requestAuthorization 的事情变得模棱两可?还是requestAuthorization 仅用于注册本地通知?
另外,如果我需要同时实现这两个功能,即使我只想注册远程通知,我应该在哪里写 registerForRemoteNotifications()?我应该把它写在requestAuthorization 中的completionHandler 中,还是应该把它写在外面,好像这两个request 和register 是并行运行的?
【问题讨论】:
标签: ios swift xcode push-notification ios10