为iOS编译¶
要求¶
scons(您可以从MacPorts获取,应该可以运行
scons
安装时在终端中)Xcode 10.0(或更高版本),带有iOS(10.0)SDK和命令行工具。
参见
有关godot的scons用法的概述,请参阅 建筑系统简介 .
编译¶
打开终端,转到引擎源代码的根目录并键入:
$ scons p=iphone target=debug
对于调试生成,或:
$ scons p=iphone target=release
对于发布版本(检查 platform/iphone/detect.py
用于每个配置的编译器标志)。
或者,你也可以跑步
$ scons p=iphone arch=x86_64 target=debug
对于模拟器可执行文件。
对于最新的设备,当您上传到Apple Store时,Apple需要64位版本的应用程序二进制文件。提供这些的最佳方法是创建一个包,其中既有32位二进制文件,也有64位二进制文件,因此每个设备都可以运行游戏。
它可以分三步完成:首先编译32位版本,然后编译64位版本,然后使用 lipo
将它们捆绑成一个“通用”二进制文件。所有这些步骤都可以使用以下命令执行:
$ scons p=iphone tools=no target=release arch=arm
$ scons p=iphone tools=no target=release arch=arm64
$ lipo bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a -output bin/godot.iphone.opt.universal.a
如果您还想提供一个模拟器构建(减少依赖关系中任何链接器错误的可能性),那么您需要构建并利用 x86_64
建筑也是如此。
$ scons p=iphone tools=no target=release arch=arm
$ scons p=iphone tools=no target=release arch=arm64
$ scons p=iphone tools=no target=release arch=x86_64
$ lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output bin/godot.iphone.opt.universal.simulator.a