对于客户,我使用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的任何条目代码。
也许有人可以指出我正确的方向。谢谢!
答案 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则是子视图。