gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 07:41:38 25 4
gpt4 key购买 nike

我为客户开发了一个 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 的任何入口代码。

也许有人能给我指出正确的方向。谢谢!

最佳答案

好吧,我用谷歌搜索了一些关于 Haxe 的信息。我的理解是,The Haxe 将为您生成一个完整的应用程序。这意味着它包括主要功能。这就是错误发生的原因。

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

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

关于ios - 从 iOS 应用程序运行 Haxe – hxRunLibrary() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com