Files
darkfi/bin/app
nighthawk24 7243212aee 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.
2025-12-22 17:23:37 -03:00
..
2025-01-24 10:36:02 +01:00
2025-02-17 12:14:14 +00:00
2025-10-29 09:57:17 +01:00
2025-08-18 10:41:11 +02:00
2025-01-24 10:36:02 +01:00
2025-02-17 12:14:14 +00:00
2025-01-21 09:31:52 +01:00

Unix (Linux/Mac)

Install rustup and cargo install cargo-limit, then run:

make

Windows

Install rustup and follow the instructions.

If you get the error "VCRUNTIME140.dll was not found", then install Microsoft Visual C++ Redistributable.

Android

Make sure you have podman installed. Then run:

# You only need to build the container once
podman build -t apk .

make android

To debug any issues, you can enter an interactive terminal using make cli.

To delete everything, run podman system reset.

Useful Dev Commands

This is just for devs. Users ignore this.

Debugging Missing Symbols

"hb_ft_font_create_referenced"

nm libharfbuzz_rs-5d6b743170eb0207.rlib | grep hb_ | less

Resolve Dependency Issues

cargo tree --target aarch64-linux-android --invert openssl-sys

Examine the APK

apktool d target/android-artifacts/release/apk/darkwallet.apk -o dw-apk