Xcode 11 中没有选择器的推送通知功能

Push notifications capability no selector in Xcode 11

我正在尝试了解 iOS 上的推送通知。为此,我正在阅读 Raywenderlich 的书。

另一方面,我意识到,在 Xcode 11 上,一些 rearrangements/changes 在配置 xcodeproj 时已经完成,其中之一是启用推送通知的功能和选择器。

此时我不确定它是打开还是关闭。

这就是权利文件的内容。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
</dict>
</plist>

这至少表明它已配置

在我的 AppDelegate 中,我有以下代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    UNUserNotificationCenter.current().requestAuthorization(options: [.badge, .sound, .alert]) { granted, _ in
        guard granted else { return }

        DispatchQueue.main.async {
            application.registerForRemoteNotifications()
        }

    }

    return true
}

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    let token = deviceToken.reduce("") { [=12=] + String(format: "%02x", ) }
    print(token)

}

应用程序启动时,请求推送通知权限,但从未调用 didRegisterForRemoteNotificationsWithDeviceToken

所以,我知道在以前的 Xcode 版本中有一个 On/Off 选择器,所以:

编辑

是的,仅添加即可,添加即表示您接受您的应用接收通知。

也在这里检查

https://developer.apple.com/documentation/xcode/adding_capabilities_to_your_app