mobile/native/darwin/Apps/ensu/README.md
All commands below assume you run them from darwin/Apps/ensu.
./build.sh # Debug build for iOS simulator (prefers booted iPhone)
./build.sh device # Debug build for connected iOS device
./build.sh archive # Release archive (.xcarchive)
./build.sh ipa # Release IPA export (uses ExportOptions-AppStore.plist)
./run.sh # Build + install + launch on iOS simulator (prefers booted iPhone)
Helpful flags:
--destination-id <id> to force a specific simulator/device--endpoint <url> to set ENTE_API_ENDPOINT--archive-path, --export-path, --export-options-plist for release flows--skip-build for run.shRun ./build.sh --help or ./run.sh --help for full options.
https://github.com/mgriebling/SwiftMath.git).ensu/Generated/core*, ensu/Generated/db*, ensu/Generated/sync*../Packages/Rust/Sources/InferenceRS/../Packages/Rust/InferenceRSFFI.xcframeworkThe Xcode build script (scripts/build-rust.sh) builds Rust static libs, but it does
regenerate the core, db, and sync Swift bindings into ensu/Generated/ as part of the build.
../Packages/Rust/tool/generate_bindings.sh and ../Packages/Rust/tool/build_xcframework.sh
handle the InferenceRS bindings and xcframework.
cd darwin/Apps/ensu
xcodebuild \
-project ensu.xcodeproj \
-scheme ensu \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15' \
-derivedDataPath build
cd darwin/Apps/ensu
xcodebuild \
-project ensu.xcodeproj \
-scheme ensu \
-configuration Debug \
-sdk iphoneos \
-destination 'generic/platform=iOS' \
-derivedDataPath build
cd darwin/Apps/ensu
xcodebuild \
-project ensu.xcodeproj \
-scheme ensu \
-configuration Release \
-sdk iphoneos \
-destination 'generic/platform=iOS' \
-archivePath build/Archive/ensu.xcarchive \
archive
cd darwin/Apps/ensu
xcodebuild \
-exportArchive \
-archivePath build/Archive/ensu.xcarchive \
-exportPath build/Export \
-exportOptionsPlist ExportOptions-AppStore.plist
cd darwin/Apps/ensu
xcrun simctl boot "iPhone 15" || true
xcrun simctl install booted build/Build/Products/Debug-iphonesimulator/ensu.app
xcrun simctl launch booted io.ente.ensu
cd darwin/Apps/ensu
xcrun devicectl device list
xcrun devicectl device install app \
--device <DEVICE_UDID> \
build/Build/Products/Debug-iphoneos/ensu.app
Install the exported IPA via Apple Configurator or TestFlight after xcodebuild -exportArchive.
Note: App Store IPA export requires valid distribution signing certificate/profile on this machine.
Set the endpoint at build time using ENTE_API_ENDPOINT. If it is not set, the app defaults to https://api.ente.io.
cd darwin/Apps/ensu
ENTE_API_ENDPOINT="https://your-endpoint.example" \
xcodebuild \
-project ensu.xcodeproj \
-scheme ensu \
-configuration Debug \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 15' \
-derivedDataPath build