Compiler pour iOS

Pré-requis

  • SCons 3.0+ (vous pouvez l’installer via Homebrew ou Macports, vous devriez pouvoir exécuter scons dans un terminal une fois installé).
  • Xcode 10.0 (ou plus récent) avec le SDK iOS (10.0) et les outils en ligne de commande.

Voir aussi

Pour un aperçu général de l’utilisation de SCons pour Godot, voir Introduction au buildsystem.

Compilation

Ouvrez un terminal, allez à la racine du code source du moteur et tapez :

$ scons p=iphone target=debug

pour une construction de débogage, ou :

$ scons p=iphone target=release

pour une construction(build) release (vérifiez platform/iphone/detect.py pour les drapeaux du compilateur utilisés pour chaque configuration).

Alternativement, vous pouvez exécuter

$ scons p=iphone arch=x86_64 target=debug

pour un Simulateur exécutable.

Pour les appareils récents, Apple requiert des versions 64 bits des fichiers binaires d’application lorsque vous téléversez sur l’Apple Store. La meilleure façon de les fournir est de créer un ensemble dans lequel il existe des binaires 32 bits et 64 bits, afin que chaque appareil puisse exécuter le jeu.

Cela peut se faire en trois étapes : d’abord compiler la version 32 bits, puis compiler la version 64 bits et enfin utiliser lipo pour les regrouper en un binaire « universel ». Toutes ces étapes peuvent être effectuées à l’aide des commandes suivantes :

$ scons p=iphone tools=no target=release arch=arm
$ scons p=iphone tools=no target=release arch=arm64
$ lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a -output bin/libgodot.iphone.release.fat.a
$ lipo -create bin/libgodot_camera_module.iphone.opt.arm.a bin/libgodot_camera_module.iphone.opt.arm64.a -output bin/libgodot_camera_module.iphone.release.fat.a
$ lipo -create bin/libgodot_arkit_module.iphone.opt.arm.a bin/libgodot_arkit_module.iphone.opt.arm64.a -output bin/libgodot_arkit_module.iphone.release.fat.a

Si vous aussi vous voulez fournir une construction de simulateur (réduit les chances d’erreurs de liaisons avec les dépendances), vous devrez construire et lipo l’architecture x86_64 également.

$ 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/libgodot.iphone.release.fat.a
$ lipo -create bin/libgodot_camera_module.iphone.opt.arm.a bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output bin/libgodot_camera_module.iphone.release.fat.a
$ lipo -create bin/libgodot_arkit_module.iphone.opt.arm.a bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output bin/libgodot_arkit_module.iphone.release.fat.a

Lancer

Pour exécuter sur un appareil ou un simulateur, suivez ces instructions : Exporter pour IOS.

Remplacez ou ajoutez votre exécutable au projet Xcode, et modifiez la propriété « executable name » sur Info.plist en conséquence si vous utilisez une construction alternative.