Libgdx firebase robovm 绑定

Libgdx firebase robovm binding

我正在尝试将 Firebase Messaging 和 Google 移动广告框架导入到我的游戏中,该游戏是在 LibGDX 中开发的,并使用 RoboVM 桥接到 iOS。



当我只尝试导入 Firebase Messaging 时,它需要 FirebaseCore 然后它需要另一个框架,直到 FirebaseNanoPB 在最新的 SDK(5.20.2) 中不存在。

  //robovm.xml
  <frameworkPaths>
        <path>libs</path>
    </frameworkPaths>
  <libs>
      <lib>z</lib>   
  </libs>
  <frameworks>
    <framework>UIKit</framework>
    <framework>OpenGLES</framework>
    <framework>QuartzCore</framework>
    <framework>CoreGraphics</framework>
    <framework>OpenAL</framework>
    <framework>AudioToolbox</framework>
    <framework>AVFoundation</framework>
    <framework>CoreMotion</framework>
    <framework>SafariServices</framework>

    <framework>FirebaseMessaging</framework>
    <framework>Protobuf</framework>


    <framework>GoogleToolboxForMac</framework>
    <framework>FirebaseCore</framework>
    <framework>FirebaseCoreDiagnostics</framework>
    <framework>FirebaseInstanceID</framework>
    <framework>FirebaseAnalytics</framework>
    <framework>GoogleMobileAds</framework>
    <framework>nanopb</framework>


  </frameworks>


这也是我的 gradle 堆栈跟踪输出。

tform-1.9.9-natives-ios.jar.extracted/META-INF/robovm/ios/libs/libObjectAL.a 
    -framework MobileCoreServices -Xlinker -sdk_version -Xlinker 12.1 -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks

ld: framework not found FirebaseNanoPB
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我实际上不需要导入 Firebase Analytics,但我想它取决于 FirebaseCore 等...

可能您使用的 RoboPods 版本过时。最新的 Firebase 绑定是 5.1.16 版,robopod 的版本是 2.2.3-SNAPSHOT。 还从 robovm.xml 中删除所有对 Firebase 框架的引用,因为这些是从 Robopod 本身合并的。
还要在具有相似拼写的 RoboPods GitHub 存储库上检查此 issue