【发布时间】:2021-12-29 01:18:19
【问题描述】:
这个问题被问了好几次都没有合适的答案:
How to exclude Firebase Messaging from Unity iOS builds, but not Android builds
How to disable Firebase in Unity for iOS?
我正在构建一个使用 PlayFab 的游戏,我需要使用 Apple 的 iOS 原生 APNS 和 Android 的 Firebase 消息传递。但是 Firebase 在我的 iOS 版本中搞砸了一些东西,而且我也没有使用它的任何功能。
我尝试从 podfile 中删除所有 Firebase 引用,并尝试选择 Assets/Firebase/Plugins 文件夹中的所有文件并取消选中“为插件选择平台”下的“iOS”。但两者都导致 Xcode 中的构建失败。
我不想为同一个游戏维护两个单独的项目(一个用于 iOS,一个用于 Android),因此我需要一种方法将其保留在项目中而不包含在 iOS 构建中。
编辑:我对 Firebase 的问题是,在用户在 iOS 上启用推送通知后,完全关闭应用程序(强制退出),应用程序每次启动时都会崩溃。根据日志,它就在 FCM(Firebase 云消息传递)调试输出之前。
根据this comment on PlayFab forums,FCM 窃取推送通知,这也是我需要禁用它的原因。
【问题讨论】:
-
我从来没有遇到过这样的问题。确保构建中不包含所有插件文件,在检查器中取消选中它们,并在项目中引用它们的任何代码周围添加适当的
#if条件。由于您没有提及任何具体错误,我只能说它对我有用。 -
我已经在
#if UNITY_ANDROID条件中包含了对 Firebase 的所有引用,正如我所提到的,我已经尝试在检查器中取消选中它们。我遇到的问题是启用推送通知后我的应用程序崩溃了,根据调试日志,它在 FCM 初始化时是正确的,所以我几乎可以肯定这就是问题所在。