为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

要在设备或模拟器上运行,请遵循以下说明: 为iOS导出 .

替换可执行文件或将可执行文件添加到Xcode项目中,并在使用替代生成时相应地更改info.plist上的“可执行文件名”属性。