对于一个客户,我开发了一个用于用户界面的iOS + Android
应用程序。Cordova (PhoneGap)
现在,作为这个应用程序的更新,我正在尝试添加一个用 Haxe 编写的游戏。Flash target
最初游戏是C++
为Android and iOS
.
在 Android 上,使用活动很容易将其与Cordova
应用程序集成(Haxe 部分作为单独的活动运行),但我在 iOS 上实现类似结果时遇到了一些麻烦。
到目前为止,我已尝试将所有hxcpp
生成的代码包含在我的项目中(与 NME 在您执行“nme build ios”时设置 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.'
我认为这可能与 Haxe 用于图形的 SDL 有关。据我了解,SDL 需要从应用程序的主函数运行,这与 Cocoa 发生冲突,也需要从主函数运行。
有什么简单的方法可以解决这个问题吗?我查看了 hxcpp 源代码,但找不到UIApplication
相关代码或 SDL 的任何入口代码。
也许有人可以指出我正确的方向。谢谢!