ios - 适用于 iOS 的 Flutter Firebase 推送通知不显示
问题描述
我将我的应用程序的颤振版本升级到最新版本(1.22.5),从那时起推送通知不会显示。我可以在日志中看到正在调用 onMessage 回调并且正在发送通知数据 - 通过真实设备上的 firebase 控制台进行测试 - 不显示通知
我升级到最新版本的 firebase 消息传递并使用 ^7.0.3。在升级之前的版本(flutter v1.17.0)中,在设备上安装构建时,我确实看到了通知。
我在完成安装步骤时尝试查看是否有任何更改,但似乎配置正常。
颤振医生的输出:
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.6 19G73 darwin-x64, locale en-IL)
• Flutter version 1.22.5 at /Users/****/Desktop/Dev/tools/flutter
• Framework revision 7891006299 (9 days ago), 2020-12-10 11:54:40 -0800
• Engine revision ae90085a84
• Dart version 2.10.4
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /Users/****/Library/Android/sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.3, Build version 12C33
• CocoaPods version 1.8.4
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 43.0.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.1.3)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 47.1.3
• Dart plugin version 201.8538.45
[✓] IntelliJ IDEA Community Edition (version 2019.3.2)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 43.0.3
• Dart plugin version 193.6015.53
[✓] VS Code (version 1.52.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.16.0
[✓] Connected device (2 available)
• sdk gphone x86 arm (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)
• iPhone 12 (mobile) • AEB05F91-087A-4EE1-8472-DB3DAD672C71 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
编辑:顺便说一句,我试图上传应用程序进行试飞,应用程序已成功上传,但我收到了来自苹果的警告:
ITMS-90078:缺少推送通知权利 - 您的应用似乎注册了 Apple 推送通知服务,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。Xcode 不会在构建时自动从配置文件中复制 aps-environment 权利。这种行为是故意的。要使用此权利,请在项目编辑器的“功能”窗格中启用推送通知,或手动将权利添加到您的权利文件中。有关详细信息,请参阅https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1。
我在 Xcode 中启用了功能,所以不确定这里有什么问题
在 ios/Runner/Runner.entitlements 中也得到了这个
<?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>
这个问题可能与此有关吗?
似乎没有真正的方法来调试它。任何帮助,将不胜感激。
解决方案
推荐阅读
- c# - 如何在 C# 上编写第二个条目过滤器
- database - 我们可以存档 AWS QLDB 数据吗,因为每个企业都对可以存储的历史数量有限制
- android - Listview not refreshing when back to activity
- powershell - 如何通过 PowerShell 连接到 WFC 中的特定端口类型
- java - I have a Collection of Multiple Classes, I need one iterator and that object casted
- javascript - “当前不会命中断点。没有为此文档加载任何符号。” 但是我可以在firefox中调试代码吗?
- google-apps-script - 如何在谷歌表格中的“setformula”之后修复公式解析错误?
- scala - Scala Play Guice Dependency Injection Fails
- javascript - 如何调用“const [a] = someArray”赋值?
- php - 如何在laravel中停止排队的工作