使用Unity 5.0,5.1 IL2CPP Scripting BK ARM64

时间:2015-07-21 01:38:08

标签: xcode plugins unity3d arm64

我遇到问题,尝试上传 Unity3d 版本,以便在appstore / Itunes Connect中进行测试。

我使用 neatplug 插件(FacebookSNS,AppleIAP)。

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

使用Unity 5.1.1p4和5.1.1p3和5.1.2f1,现在我有苹果机器人链接器错误以及Xcode 6.3,6.4中的非常警告

非常感谢! 欢迎任何帮助

2 个答案:

答案 0 :(得分:1)

提供错误日志,以帮助我们更好地解决您面临的问题的确切原因。

请确保遵循以下规则:

默认情况下,它将构建通用体系结构(包括ARM64和ARMv7),如果需要,您可以切换到“播放器设置”中的特定体系结构。在应用程序启动并以64位运行之前,应该完成许多事情:

  1. 您需要64位功能的设备才能进行测试。这些都是iOS设备 使用A7或更高版本的芯片(目前这些是:iPhone 5S,iPad Air, iPad Mini Retina,iPhone 6,iPhone 6 Plus,iPad Mini 3,iPad Air 2)。
  2. 您需要使用64位支持编译所有本机插件 (或作为源代码提供)。如果您使用的是第三方插件, 你应该联系你的插件供应商获得64位能力和 该插件的IL2CPP兼容版本。
  3. 如果您是插件供应商或只是拥有自己的原生插件 那么你需要记住几件事:IL2CPP不是 与Mono Runtime API兼容的API(未曝光) 意味着如果插件使用mono_ *函数将不再链接。该 解决此问题的最佳方法是切换到托管 委托/回调方法并将您的托管回调传递给 插件的原生方面,当一些原生的时候从那里调用它们 数据或事件到来。
  4. 所有作为预编译静态库(.a文件)的插件 现在应该包括ARM64切片。在做本机代码/类型时 转换请记住,指针和长整数现在是64位宽 并且整数仍然是32宽。
  5. 至于我的知识,你有与pluglin相关的问题,他们需要编译64位支持询问你的供应商是否相同。并且确保在xcode中添加所有必要的框架(如果需要为您提到的插件添加),然后再在设备上进行构建。

答案 1 :(得分:0)

在实现测试后,我检查了neatplug插件是导致错误的原因。 是很好的插件,但没有这种实现是不可用的。

我尝试向供应商询问此消息,但没有回复。

我正在寻找新的供应商。也许是素数31

非常感谢!