Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift-设置APNSToken Firebase消息的正确方式_Swift_Firebase_Firebase Cloud Messaging - Fatal编程技术网

Swift-设置APNSToken Firebase消息的正确方式

Swift-设置APNSToken Firebase消息的正确方式,swift,firebase,firebase-cloud-messaging,Swift,Firebase,Firebase Cloud Messaging,我在iOS中第一次使用Firebase通知 这是我现在的代码: func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { Messaging.messaging().subscribe(toTopic: "/topics/ios") Messaging.messaging().subscribe(toTop

我在iOS中第一次使用Firebase通知

这是我现在的代码:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    Messaging.messaging().subscribe(toTopic: "/topics/ios")
    Messaging.messaging().subscribe(toTopic: "/topics/general")
    Messaging.messaging().apnsToken = deviceToken

    print("Registration succeeded!")
}
它在发展中发挥着魅力

但我的问题是:这是正确的方法吗?


而且,现在的方式仍然适用于生产

如果您创建了一个开发目标,您可以这样将它们分开:

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

    #if DEVELOPMENT
        //Develop
        Messaging.messaging().setAPNSToken(deviceToken as Data, type: .sandbox)
    #else
        //Production
        Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
    #endif
}