标题说明了一切。
我正在用libgdx实现游戏,我想将facebook sdk实现到iOS中。我正在使用robovm绑定。
SEE BELLOW !!
游戏编译并被推送到设备,但是当游戏启动时它会失败并显示以下消息:
java.lang.ExceptionInInitializerError
at org.robovm.bindings.facebook.manager.FacebookManager.didBecomeActive(FacebookManager.java)
at com.fcouceiro.flydive.IOSLauncher.didBecomeActive(IOSLauncher.java)
at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$applicationDidBecomeActive$(Unknown Source)
at org.robovm.apple.uikit.UIApplication.main(Native Method)
at org.robovm.apple.uikit.UIApplication.main(UIApplication.java)
at com.fcouceiro.flydive.IOSLauncher.main(IOSLauncher.java)
Caused by: org.robovm.objc.ObjCClassNotFoundException: FBAppCall
at org.robovm.objc.ObjCClass.getByType(ObjCClass.java)
at org.robovm.bindings.facebook.FBAppCall.<clinit>(FBAppCall.java)
... 6 more
我试图将binging包含为.jar和框架。有什么想法吗?
编辑:
我设法克服了这个错误,现在这里是新的:):
java.lang.NoSuchMethodError: org.robovm.apple.uikit.UIColor.black()Lorg/robovm/apple/uikit/UIColor;
at org.robovm.bindings.facebook.manager.sample.LoadingOverlay.<init>(LoadingOverlay.java)
at com.fcouceiro.flydive.IOSLauncher.setupFacebook(IOSLauncher.java)
at com.fcouceiro.flydive.IOSLauncher.createApplication(IOSLauncher.java)
at com.badlogic.gdx.backends.iosrobovm.IOSApplication$Delegate.didFinishLaunching(IOSApplication.java)
at com.fcouceiro.flydive.IOSLauncher.didFinishLaunching(IOSLauncher.java)
at org.robovm.apple.uikit.UIApplicationDelegate$ObjCProxy.$cb$application$didFinishLaunchingWithOptions$(Unknown Source)
at org.robovm.apple.uikit.UIApplication.main(Native Method)
at org.robovm.apple.uikit.UIApplication.main(UIApplication.java)
at com.fcouceiro.flydive.IOSLauncher.main(IOSLauncher.java)
提前致谢
答案 0 :(得分:0)
前段时间我遇到了同样的问题。 以下是一些可能对您有帮助的步骤
在ios模块的robovm.xml中一定要添加
<frameworkPaths>
<path>../facebook-ios</path>
</frameworkPaths>
其中facebook-ios
是facebook模块的名称
<libs>
<lib>build/libs/ios/libfacebook.a</lib>
</libs>
...
<resources>
<resource>
<directory>../facebook-ios/resources</directory>
<skipPngCrush>true</skipPngCrush>
</resource>
</resources>
同时将build.gradle
文件从ios
模块复制到facebook-ios
,它将在构建时包含facebook.a。我认为这个gradle任务使事情有效:
task copyNatives « {
file("build/libs/ios/").mkdirs();
def outputDir = file("build/libs/ios")
if (outputDir != null) {
copy {
from "libs"
into outputDir
include "*.a"
}
}
}
答案 1 :(得分:0)
在新的更新之前,我无法解决该错误!
确保拥有最新的robovm和libgdx库!更新后一切顺利;)