3

我正在尝试将 InApp 购买和我们的发行商提供的原生 SDK 集成到使用 Haxe 和 NME 制作的游戏中。我仍在使用 NME 3.5.5 和 hxcpp 2.10。

我尝试使用本机扩展,如下所述:http ://www.openfl.org/developer/forums/programming-haxe/connecting-objective-c-haxe-ios-help/ 和这里: https ://github.com /ericamccowan/Haxe_Extension_Test

我首先在 windows 上测试它,在 cpp 中做简单的事情,我在传递和接收数据时没有问题。

我切换到 mac,并尝试为 iOS 做同样的事情,但我什至无法正常启动游戏。我使用适当的命令编译了扩展,然后将生成的“.a”包含到 xcode 项目中。但是当我像往常一样尝试通过 xcode 在 ipad 上运行游戏时,我得到了这个:


(来源:gyazo.com

这里看看项目长什么样

http://gyazo.com/ff6352a2bb7b2034c933b8305b711c48.png

由于问题已本地化在 Main.mm 中的“iOS_Native_register_prims()”上,我认为这是 xcode 的问题,也不识别本机扩展?我尝试将 iOS_Native.mm 添加到项目中,但随后由于无法包含 hxcpp.h 而引发错误

我意识到我对这一切并不是很清楚,但那是因为我不太明白它应该如何工作......有没有人尝试过类似的东西?

提前感谢您的帮助!

4

1 回答 1

0

听起来您缺少对 function 的引用iOS_Native_register_prims。函数声明除了 return 0 之外不需要做任何事情,但也可以用于初始化扩展的部分内容。

extern "C" int iOS_Native_register_prims () { return 0; }

函数名称应与项目名称匹配,因此如果您正在创建 GameCenter 扩展,它将被命名为GameCenter_register_prims.

于 2015-01-22T21:52:55.590 回答