小编Spl*_*ust的帖子

从iOS应用程序运行Haxe - hxRunLibrary()错误

对于客户,我开发了一个用于用户界面的iOS + Android应用程序Cordova (PhoneGap).现在,作为这个应用程序的更新,我正在尝试添加一个用Haxe编写的游戏.最初这个游戏是为这个游戏编写的Flash target,但是我已经更新了它以便与C++目标一起工作Android and iOS.

在Android上,很容易Cordova使用活动将其与应用程序集成(Haxe部分作为单独的活动运行),但我在iOS上实现类似结果时遇到一些麻烦.

到目前为止,我已经尝试将所有hxcpp生成的代码包含在我的项目中(就像当你执行"nme build ios"时NME设置XCode项目一样),hxRunLibrary()当我希望游戏运行时,我正在调用我的代码.

问题是hxRunLibrary()似乎想要创建自己的UIApplication实例,由于我的主应用程序已经在运行实例,因此失败并出现以下错误:

*** Assertion failure in void UIApplicationInstantiateSingleton(Class)(), /SourceCache/UIKit_Sim/UIKit-2380.17/UIApplication.m:2037
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There can only be one UIApplication instance.'
Run Code Online (Sandbox Code Playgroud)

我认为这可能与SDL有关,Haxe将其用于图形.根据我的理解,SDL需要从应用程序的主要功能运行,这与Cocoa产生冲突,也需要从main函数运行.

这有什么简单的方法吗?我查看了hxcpp源代码,但无法找到UIApplication相关代码或SDL的任何条目代码.

也许有人可以指出我正确的方向.谢谢!

haxe hxcpp ios nme

38
推荐指数
1
解决办法
792
查看次数

标签 统计

haxe ×1

hxcpp ×1

ios ×1

nme ×1