Add iOS build and run support for the DarkFi app

This pull request adds full iOS build and run support for the DarkFi app, including device, simulator and Xcode integration. It introduces ios-release  and ios-sim Makefile targets that build signed app bundles for devices and simulators.

Add SDK detection and Apple Silicon arch via xcrun / xcodebuild and improved error messages.

A new ios-xcode target generates a minimal DarkFi.xcodeproj using the external build system so the app can be archived and uploaded directly from Xcode.

The changes include an ios-Info.plist , updated entitlements and embedded.mobileprovision handling to fix crash-on-launch issues and allow fullscreen UI and arbitrary network loads.

iOS-specific path handling and ui_consts are added (with  #cfg(target_os = "ios")  and  HOME/Documents  logic) to avoid sandbox panics and unwritable home directory crashes while keeping Tor/arti working.

Asset copying is standardized so the assets content (including forest_720x1280 / 1920x1080 and locales) is laid out in the bundle in a way that matches the code’s VID_PATH / LOCALE_PATH expectations and macroquad ’s resource lookup on iOS.

Cargo dependencies are tuned for iOS by keeping required pieces like tor-dirmgr, excluding incompatible ones like tracing-android and ensuring no problematic iOS-only libraries cause link or runtime errors.
This commit is contained in:
nighthawk24
2025-12-19 17:11:16 -05:00
committed by darkfi
parent 7cd4aedce9
commit 7243212aee
13 changed files with 332 additions and 12 deletions

1
bin/app/Cargo.lock generated
View File

@@ -847,6 +847,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
dependencies = [
"sha2",
"tinyvec",
]