godotengine / godotengine/godot-docs
"Cross-compiling for iOS on Linux" Not up-to-date documentation and assembly problem
- Dominant language
- reStructuredText
- Stars
- 5.7k
- Forks
- 3.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 25
Description
**Godot version:** 3.2+
**OS/device including version:** iPhone all and Linux Ubuntu 18 LTE
**Issue description:**
Apple does not provide a “DMG” file. They provide a "XIP" file.
Need instructions on how to unpack XIP
I asked a friend from his MacBook, the source code of the SDK Xcode.
Build error:
```
[100%] can't set the modifiy times in output file: [100%] can't set the modifiy times in output file: /home/valeryn/dev/godot/bin/libgodot.iphone.opt.arm64.a.RzuwDG (No such file or directory)
[100%] scons: *** Error 1
[100%] warnings generated.
[100%] /home/valeryn/dev/iostoolchain/usr/bin/arm-apple-darwin11-ar rc bin/libgodot_camera_module.iphone.opt.arm64.a modules/camera/register_types.iphone.opt.arm64.o modules/camera/camera_ios.iphone.opt.arm64.o
[100%] /home/valeryn/dev/iostoolchain/usr/bin/arm-apple-darwin11-ranlib bin/libgodot_camera_module.iphone.opt.arm64.a
[100%] 23 warnings generated.
[100%] /home/valeryn/dev/iostoolchain/usr/bin/arm-apple-darwin11-ar rc bin/libgodot_arkit_module.iphone.opt.arm64.a modules/arkit/register_types.iphone.opt.arm64.o modules/arkit/arkit_interface.iphone.opt.arm64.o modules/arkit/arkit_session_delegate.iphone.opt.arm64.o
[100%] /home/valeryn/dev/iostoolchain/usr/bin/arm-apple-darwin11-ranlib bin/libgodot_arkit_module.iphone.opt.arm64.a
[100%] scons: done building targets.
```
This file on this path is available:
/home/valeryn/dev/godot/bin/libgodot.iphone.opt.arm64.a.RzuwDG
Other modules are built without error.
I use such a script:
```bash
#!/bin/bash
GODOT_FOLDER=$1
echo "GODOT_FOLDER = $1"
TARGET=$2
echo "TARGET = $2"
THREADS=$3
echo "THREADS = $3"
IPHONE_SDK="${HOME}/dev/IPhoneSDK/iPhoneOS9.1.sdk"
echo "IPHONE_SDK=${IPHONE_SDK}"
IPHONE_SDK_ARMv7="${HOME}/dev/cctools-port/usage_examples/ios_toolchain/target/SDK/iPhoneOS9.1.sdk"
echo "IPHONE_SDK_ARMv7=${IPHONE_SDK_ARMv7}"
IPHONE_PATH="${HOME}/dev/iostoolchain"
echo "IHPHONE_PATH=${IPHONE_PATH}"
IPHONE_PATH_ARMv7="${HOME}/dev/iostoolchain_armv7"
echo "IHPHONE_PATH_ARMv7=${IPHONE_PATH_ARMv7}"
LIPO="${IPHONE_PATH}/usr/bin/arm-apple-darwin11-lipo"
echo "LIPO=${LIPO}"
FLAGS="tools=no game_center=no store_kit=no debug_symbols=no module_arkit_enabled=no disable_3d=yes disable_advanced_gui=yes no_editor_splash=yes deprecated=no optimize=size"
echo "${FLAGS}"
cd $GODOT_FOLDER
scons -j ${THREADS} platform=iphone IPHONESDK="${IPHONE_SDK_ARMv7}" IPHONEPATH="${IPHONE_PATH_ARMv7}" ios_triple="arm-apple-darwin11-" --help
scons -j ${THREADS} platform=iphone arch=arm target=$TARGET IPHONESDK="${IPHONE_SDK_ARMv7}" IPHONEPATH="${IPHONE_PATH_ARMv7}" ios_triple="arm-apple-darwin11-" ${FLAGS}
scons -j ${THREADS} platform=iphone arch=arm64 target=$TARGET IPHONESDK="${IPHONE_SDK}" IPHONEPATH="${IPHONE_PATH}" ios_triple="arm-apple-darwin11-" ${FLAGS}
$LIPO -create bin/libgodot.iphone.opt.$TARGET.arm.a bin/libgodot.iphone.opt.$TARGET.arm64.a -output bin/libgodot.iphone.$TARGET.fat.a
$LIPO -create bin/libgodot_camera_module.iphone.opt.$TARGET.arm.a bin/libgodot_camera_module.iphone.opt.$TARGET.arm64.a -output bin/libgodot_camera_module.iphone.$TARGET.fat.a
$LIPO -create bin/libgodot_arkit_module.iphone.opt.$TARGET.arm.a bin/libgodot_arkit_module.iphone.opt.$TARGET.arm64.a -output bin/libgodot_arkit_module.iphone.$TARGET.fat.a
```
$ ~/dev/build.sh ~/godot release 4
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.