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

时间:2013-04-16 21:41:27

标签: ios haxe nme hxcpp

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

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

到目前为止,我已尝试在项目中包含所有Cordova生成的代码(与NME在执行“nme build ios”时设置XCode项目的方式相同),并且我正在调用{{当我希望游戏运行时,从我的代码中开始。

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

hxRunLibrary()

我认为它可能与SDL有关,Haxe用它来制作图形。根据我的理解,SDL需要从应用程序的主要功能运行,这与Cocoa产生了冲突,也需要从主函数运行。

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

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

2 个答案:

答案 0 :(得分:3)

好吧,我已经搜索了一些关于Haxe的信息。我所理解的是,Haxe将为您完成一份完整的申请。这意味着它包括主要功能。这就是错误发生的原因。

您可以通过两次调用UIApplicationMain函数来模拟问题。

在我看来,你必须从Haxe生成的源代码文件中删除有关UIApplicationMain的代码。

答案 1 :(得分:1)

cordova能够作为更大应用程序的一部分进行集成

遇到了同样的问题。

http://devgirl.org/2012/11/15/embed-cordovaphonegap-in-your-native-ios-app/ 这篇文章将有所帮助

您实际上并未创建新项目,而是通过ios webview将其嵌入到webview中,而cordova则是子视图。