Compiling for iOS

See also

This page describes how to compile iOS export template binaries from source. If you're looking to export your project to iOS instead, read Exporting for iOS.

Requirements

  • SCons 3.0+ (you can install it via Homebrew or MacPorts, you should be able to run scons in a terminal when installed).

  • Xcode 11.0 (or later) with the iOS (13.0) SDK and the command line tools.

If you are building the master branch:

  • Download and follow README instructions to build a static .xcframework from the MoltenVK SDK.

See also

To get the Godot source code for compiling, see Getting the source.

For a general overview of SCons usage for Godot, see Introduction to the buildsystem.

Compiling

Open a Terminal, go to the root dir of the engine source code and type:

$ scons p=ios target=template_debug

for a debug build, or:

$ scons p=ios target=template_release

for a release build (check platform/ios/detect.py for the compiler flags used for each configuration).

Alternatively, you can run

$ scons p=ios target=template_debug ios_simulator=yes arch=x86_64
$ scons p=ios target=template_debug ios_simulator=yes arch=arm64

for a Simulator libraries.

To create an Xcode project like in the official builds, you need to use the template located in misc/dist/ios_xcode. The release and debug libraries should be placed in libgodot.ios.debug.xcframework and libgodot.ios.release.xcframework respectively.

$ cp -r misc/dist/ios_xcode .

$ cp libgodot.ios.debug.arm64.a ios_xcode/libgodot.ios.debug.xcframework/ios-arm64/libgodot.a
$ lipo -create libgodot.ios.debug.arm64.simulator.a libgodot.ios.debug.x86_64.simulator.a -output ios_xcode/libgodot.ios.debug.xcframework/ios-arm64_x86_64-simulator/libgodot.a

$ cp libgodot.ios.opt.arm64.a ios_xcode/libgodot.ios.release.xcframework/ios-arm64/libgodot.a
$ lipo -create libgodot.ios.opt.arm64.simulator.a libgodot.ios.opt.x86_64.simulator.a -output  ios_xcode/libgodot.ios.release.xcframework/ios-arm64_x86_64-simulator/libgodot.a

The MoltenVK static .xcframework folder must also be placed in the ios_xcode folder once it has been created.

Run

To run on a device or simulator, follow these instructions: Exporting for iOS.