2015-07-21 38 views
0

我遇到了问题,试图上传一个Unity3d构建以在appstore/Itunes Connect中测试。我使用neatplug插件(FacebookSNS,AppleIAP)。在Xcode 6.3,6.4中使用Unity 5.0,5.1编译时出现错误IL2CPP脚本BK ARM64

当我选择IL2CPP脚本后端来支持ARM64架构并尝试上传进行测试。 它不适用于IPAD Air(碰撞)。并在Iphone是有点缺乏(慢)。

使用Unity 5.1.1p4和5.1.1p3和5.1.2f1,现在我有苹果的Mach-O链接错误并非常警告在Xcode 6.3,6.4

非常感谢! 任何帮助可能会受到欢迎

回答

1

是否提供错误日志,这将帮助我们避免您遇到的问题的确切原因。

请确保您遵循以下规则:

默认情况下,将建立通用架构(包括ARM64和ARMv7),如果需要,您可以切换到特定架构的播放器设置。在您的应用程序启动并运行64位之前应该完成一些操作:

  1. 您需要具有64位功能的设备进行测试。这些都是iOS设备 与A7或更高芯片(目前这些是:iPhone 5S,iPad空气, iPad迷你视网膜,iPhone 6,iPhone 6加上,iPad迷你3,iPad空气2)。
  2. 你需要所有的本地插件编译支持64位支持 (或作为源代码提供)。如果您使用的是第三方插件, 您应该联系您的插件供应商以获取64位的能力,并且该插件的IL2CPP兼容版本为 。
  3. 如果你是插件供应商或只是有自己的本地插件 那么你需要保持两件事情记:IL2CPP不是 API兼容(未曝光)与单声道运行时API,这 意味着如果插件正在使用mono_ *函数将不再链接。解决此问题的最佳方式是切换到托管的 委托/回调方式,并将您的托管回调传递给插件的本机端 ,并在某些本机 数据或事件到达时从那里回拨。
  4. 所有作为预编译静态库(.a文件) 的插件现在应该包含ARM64 slice。当做原生代码/类型 转换时请记住,指针和长整数现在是64位宽 并且整数仍然是32宽。

至于我的毫无疑问,你有pluglin相关的问题,他们需要与64位支持编译询问你的供应商相同。并确保在xcode中所有必要的框架都已添加(如果需要为您提及的插件添加),然后再进行构建设备。

+0

谢谢Harschell!就像你说的那样,错误是由插件引起的,neatplug没有被更新以支持Xcode6.3,6.4中的新的64位体系结构。 –

0

实现测试后,我检查了neatplug插件是错误的原因。 是很好的插件,但没有这种实现是无法使用的。

我试过询问供应商,没有回应。

我在寻找新的供应商。也许总理31

非常感谢!

+0

是啊素数31所有plungs都是用64位编译的。 – Harschell