Firebase 消息传递仅在调试模式下工作,而不是在发布模式下工作 (iOS)

Posted

技术标签:

【中文标题】Firebase 消息传递仅在调试模式下工作,而不是在发布模式下工作 (iOS)【英文标题】:Firebase messaging only working in debug, but not in release mode (iOS) 【发布时间】:2019-08-14 10:21:44 【问题描述】:

我正在使用带有 firebase 消息传递插件的颤振框架来启用推送通知。在调试模式下编译我的颤振应用程序时,Firebase 消息在 ios 上正常工作。我还没有在android上尝试过。但是当我在发布模式下编译时,没有推送通知出现。在 Firebase 中,我还没有填写 app-name 和 store-id,因为该应用还没有在 Apple AppStore 中发布。可能是这个问题吗?

【问题讨论】:

app-name 或 store-id 是什么?请问你解决了吗? 您是否将 APN 密钥添加到 Firebase 控制台中的云消息传递中?您需要它并确保添加该功能 【参考方案1】:

也有这个问题 (firebase_messaging: ^7.0.3),花了几个小时修复它。对我来说,工作了两个步骤:

第一

改变

<key>FirebaseAppDelegateProxyEnabled</key>
<true/>

<key>FirebaseAppDelegateProxyEnabled</key>
<string>NO</string>

ios/Runner/Info.plist 文件中。

更多信息在这里flutter: fcm ios push notifications doesn't work in release mode

第二次

当 init 推送时使用此代码

FirebaseMessaging firebaseMessaging = FirebaseMessaging();

if (Platform.isIOS) 
  firebaseMessaging.configure();
  userPermission = await firebaseMessaging.requestNotificationPermissions(
        const IosNotificationSettings());

【讨论】:

以上是关于Firebase 消息传递仅在调试模式下工作,而不是在发布模式下工作 (iOS)的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Realtime 在调试模式下工作,而不是在运行应用模式下工作

Firebase 手机身份验证仅在发布模式下不启动 OTP,但即使在为发布模式添加 sha1 后也可以在调试模式下工作

Firebase 消息传递 onMessage 仅在窗口中可用

应用程序仅在调试模式下崩溃

Firebase 云消息传递的 getToken() 仅在我省略 usePublicVapidKey 方法时才有效,为啥?

仅在调试模式下生成的 C4715