mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
1.9 KiB
1.9 KiB
ARMSX2 iOS Build Setup
The iOS Xcode project is generated by CMake. It is not committed to the repository because Xcode project output contains machine-local build paths and can become stale quickly.
Swift UI sources live in:
app/src/main/swift
The iOS CMake entry point lives in:
app/src/main/cpp/CMakeLists.txt
Requirements
- macOS with Xcode installed
- Xcode command line tools selected with
xcode-select - CMake 3.16 or newer
- A recursive clone with submodules initialized
Clone
git clone --recursive -b armsx2-ios https://github.com/ARMSX2/ARMSX2.git
cd ARMSX2
git submodule update --init --recursive
Generate the Xcode Project
./scripts/generate-ios-xcode.sh
This creates:
build-ios-xcode/ARMSX2iOS.xcodeproj
Open it with:
open build-ios-xcode/ARMSX2iOS.xcodeproj
Use the ARMSX2iOS scheme.
Build an Unsigned IPA
For sideloading or external resigning:
./scripts/build-ios-ipa.sh
The IPA is written to:
build-ios-xcode/ARMSX2-iOS-unsigned.ipa
Automatic Signing
If you have an Apple developer team and want Xcode automatic signing, regenerate with your team and bundle identifier:
TEAM_ID=YOUR_APPLE_TEAM_ID BUNDLE_ID=com.your.bundle.id ./scripts/generate-ios-xcode.sh
Then open the generated project in Xcode and build the ARMSX2iOS scheme for an
iOS device.
Notes
build-ios-xcode/is generated output and should not be committed.- The build target is iOS device arm64 by default.
- Minimum iOS version is 18.0.
- JIT availability depends on how the app is signed and launched. Unsigned IPAs may need to be resigned or launched with a compatible sideloading/debug setup.
- Do not rename low-level iOS JIT/runtime symbols unless you are intentionally changing that code path. Some internal names are compatibility plumbing and are not user-facing branding.