iOS Firebase 推送通知未出现

Posted

技术标签:

【中文标题】iOS Firebase 推送通知未出现【英文标题】:iOS Firebase push notifications not appearing 【发布时间】:2017-06-07 15:00:51 【问题描述】:

我已根据此演练设置推送通知:https://www.appcoda.com/firebase-push-notifications/

但是当我从 Firebase 发送测试消息时,它没有显示出来。我遵循了所有步骤,我有有效的证书:

为推送通知设置的配置文件:

在我的 App ID 下,它显示通知已启用:

我已将证书上传到 Firebase:

在我的AppDelegate didFinishLaunchingWithOptions:

    if #available(ios 10.0, *) 
        // For iOS 10 display notification (sent via APNS)
        UNUserNotificationCenter.current().delegate = self
        let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
        UNUserNotificationCenter.current().requestAuthorization(
            options: authOptions,
            completionHandler: _, _ in )
        // For iOS 10 data message (sent via FCM
        FIRMessaging.messaging().remoteMessageDelegate = self
     else 
        let settings: UIUserNotificationSettings =
            UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
        application.registerUserNotificationSettings(settings)
    


    application.registerForRemoteNotifications()

连同AppDelegate中的Firebase回调方法:

func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) 
    print(remoteMessage.appData)

显然我已经导入了:

import UserNotifications
import FirebaseInstanceID
import FirebaseMessaging

我不确定为什么推送通知不起作用,似乎一切都已就绪。我所做的唯一不同寻常的事情是从 Target -> Code Signing 中删除权利,因为当我尝试运行应用程序时,它给了我一个无效权利错误。现在它已被删除,该应用程序运行良好。我确实对这个单独的问题有一个悬而未决的问题,但现在我假设这不是我的问题的原因。

为了确认,我不需要在添加通知后重新下载 Google plist 吗?在添加通知之前,我在我的项目中使用了 Firebase,所以我已经有了。

感谢您为通知工作提供任何帮助!

【问题讨论】:

请从 Xcode 中删除设备并尝试您是否收到推送?。并且有些时候在开发模式下确实注册了通知而不是调用。 有谁知道添加 FirebaseMessaging/notifications 后是否需要重新下载 Google-Info.plist 文件?在我尝试添加通知之前,我的应用中有 Firebase,所以我有原始 plist。 【参考方案1】:

尝试添加FirebaseAppDelegateProxyEnabled type "Boolean" value "NO" in your info.plist

也许添加Messaging.messaging().shouldEstablishDirectChannel to true in your AppDelegate

【讨论】:

【参考方案2】:

如果启用了推送通知,您能否检查功能选项卡。此外,从 Xcode 8 开始,您需要添加设置了 aps-environment 的权利文件。如果您禁用和启用来自功能的推送通知,您将获得此文件。

【讨论】:

请查看文档 - developer.apple.com/library/content/documentation/Miscellaneous/… 您的“另外,从 Xcode 8 开始,您需要添加设置了 aps-environment 的权利文件。”具有误导性。如果您在功能中设置,这会自动发生。 功能中启用了推送通知。我将其切换为“关闭”,然后再次打开。重新下载我的配置文件,双击安装。 Ran,现在我收到一个错误“无效的权利” @Honey Xcode 8 之前的授权文件不是必需的。 它现在似乎可以正常工作,但我仍然没有看到我从 Firebase 发出的测试通知

以上是关于iOS Firebase 推送通知未出现的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用未收到来自 Firebase 的后台推送通知

IOS Firebase 云功能中未收到推送通知

Firebase 云消息传递未在 iOS 14 上提供推送通知

iOS 13 及更高版本未收到来自 Firebase 的推送通知

IOS 应用程序中未收到 Firebase 推送通知徽章计数

swift 3,ios 10 - 未收到推送通知 firebase