统一firebase ios错误

时间:2018-10-31 10:46:51

标签: ios firebase unity3d

我只使用firebase消息。我为android构建仍然可以正常工作,但是为ios构建时。我收到此错误:

无法配置Firebase服务:Firebase版本的Google Analytics(分析)(50200000)与Google App Measurement(50300000)版本不匹配。

初始化异常:Firebase应用创建失败

我已经按照https://firebase.google.com/docs/cloud-messaging/unity/client

中的设置进行操作

任何人都有理想的评论。谢谢!

3 个答案:

答案 0 :(得分:3)

[更新]

我终于发现哪里出了问题。

首先,FirebaseAnalytics 5.2.0窗格取决于"GoogleAppMeasurement": "~> 5.2",Google已于2018年10月底发布了GoogleAppMeasurement 5.3.0

这意味着,如果您的Pod存储库以podspec repo提交版本(包括GoogleAppMeasurement Pod的新版本)为目标,它将获得新版本并导致版本号不匹配的错误。

根本原因是"GoogleAppMeasurement": "~> 5.2" podspec中指定的FirebaseAnalytics允许其将最新的pod升级到6.0版(不包括),但是它们不兼容

真正的快速解决方案(或解决方法):

只需在添加GoogleAppMeasurement 5.3.0之前将podspec存储库目标回滚到提交版本。

  1. 使用终端和cd ~/.cocoapods/repos/master
  2. 回滚到先前的提交版本git checkout 306207013c4b(可以是任何较早的版本,但不包括9cfdbf6)

然后,您不必在Unity新构建之后每次都手动修改Podfile:)


我现在正面临着相同的错误,我从github上的问题跟踪中得到了一个提示: https://github.com/invertase/react-native-firebase/issues/1633

快速解决方案:[不建议使用,请先阅读以上更新]

手动将 GoogleAppMeasurement pod版本指定为5.2.0。

  1. 只需将pod 'GoogleAppMeasurement', '~> 5.2.0'这行代码添加到<Xcode Project Root>/Podfile文件中即可。
  2. 在Xcode项目根路径下运行命令pod update

但是,我仍在弄清楚它不会自动选择正确版本的pod的原因。希望有人能回答。最后自己弄清楚。请阅读上面的更新。

注意:-,我尝试过此操作,但这不能解决问题... Podfile.lock已包含“ GoogleAppMeasurement”,“ = 5.3.0”,这是较新的版本。 似乎谁注意到此行运行了错误的命令。只需删除该行即可避免产生误导。

答案 1 :(得分:0)

我今天在检查应用程序的依赖项时遇到相同的错误,即 Firebase.FirebaseApp.CheckAndFixDependenciesAsync()

我的iOS设备日志为:

  

无法配置Firebase服务:适用于Firebase的Google Analytics(分析)   版本(50200000)与Google App Measurement不匹配   (50300000)版本。请更新。无法配置Firebase   服务:Google Analytics for Firebase版本(50200000)没有   与Google App Measurement(50300000)版本匹配。请更新。   Firebase.FirebaseApp:CreateInternal()   Firebase.FirebaseApp:CreateAndTrack(CreateDelegate,FirebaseApp)   FirebaseManager:m__5(任务1) System.Threading.Tasks.<>c__DisplayClass22_0:<ContinueWith>b__0(Task) System.Threading.Tasks.<>c__DisplayClass20_1 1:b__2()   System.Threading.Tasks。<> c:<。cctor> b__32_1(操作)   System.Threading.Tasks.Task 1:RunContinuations() System.Threading.Tasks.Task 1:TrySetResult(T)   System.Threading.Tasks。<> c__DisplayClass1_0 1:<Unwrap>b__1(Task 1)   System.Threading.Tasks。<> c__DisplayClass22_0:b__0(Task)   System.Threading.Tasks。<> c__DisplayClass20_1 1:<ContinueWith>b__2() System.Threading.Tasks.<>c:<.cctor>b__32_1(Action) System.Threading.Tasks.Task:ContinueWith(Func 2,CancellationToken)   System.Threading.Tasks。<> c__DisplayClass22_0:b__0(Task)   System.Threading.Tasks。<> c__DisplayClass20_1 1:<ContinueWith>b__2() System.Threading.Tasks.<>c:<.cctor>b__32_1(Action) System.Threading.Tasks.Task 1:RunContinuations()   System.Threading.Tasks.Task 1:TrySetResult(T) System.Threading.Tasks.<>c__DisplayClass20_1 1:b__2()   System.Threading.Tasks。<> c:<。cctor> b__32_1(操作)   System.Threading.Tasks.Task 1:RunContinuations() System.Threading.Tasks.Task 1:TrySetResult(T)   System.Threading.Tasks.TaskCompletionSource 1:SetResult(T) System.Threading.Tasks.<>c__DisplayClass9_0 1:b__0()

如果您或任何人对此有想法...评论...

答案 2 :(得分:0)

好吧...据@findlimit更新,pod为我工作。我试图运行无法运行的命令pod install ...希望其他人可以从中获得帮助...