Files
godot-docs/contributing/development/compiling/compiling_for_ios.rst
Yuri Sizov dbfe3b1d26 Reorganize documentation for contributors
- Merge Community/Contributing and Engine Development into one top-level section, Contributing.
- Structure it in a way that gives equal priority to various ways to contribute, including documentation.
- Rename several articles to be more comprehensive and in line with the overall state of the documentation.
- Rewrite the guide for class reference contributions.
2023-01-10 01:49:30 +03:00

81 lines
2.6 KiB
ReStructuredText

.. _doc_compiling_for_ios:
Compiling for iOS
=================
.. highlight:: shell
.. seealso::
This page describes how to compile iOS export template binaries from source.
If you're looking to export your project to iOS instead, read :ref:`doc_exporting_for_ios`.
Requirements
------------
- SCons 3.0+ (you can install it via `Homebrew <https://brew.sh/>`_ or
`MacPorts <https://www.macports.org/>`_, 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 <https://github.com/KhronosGroup/MoltenVK#fetching-moltenvk-source-code>`__.
.. seealso:: To get the Godot source code for compiling, see
:ref:`doc_getting_source`.
For a general overview of SCons usage for Godot, see
:ref:`doc_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:
:ref:`doc_exporting_for_ios`.