对于客户,我开发了一个用于用户界面的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的任何条目代码.
也许有人可以指出我正确的方向.谢谢!