56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# Repository instructions
|
|
|
|
## iOS simulator build and deployment
|
|
|
|
This Apple Silicon project builds the simulator app for `arm64`. Do not disable
|
|
code signing: the Rust build script consumes Xcode's generated simulator
|
|
entitlement paths. Do not request an `x86_64` simulator build unless the
|
|
`x86_64-apple-ios` Rust target has explicitly been installed.
|
|
|
|
Use this sequence from the repository root:
|
|
|
|
```sh
|
|
cd ios
|
|
xcodegen generate
|
|
|
|
xcodebuild \
|
|
-project Gotcha.xcodeproj \
|
|
-scheme Gotcha \
|
|
-configuration Debug \
|
|
-sdk iphonesimulator \
|
|
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
|
|
ARCHS=arm64 \
|
|
ONLY_ACTIVE_ARCH=YES \
|
|
build
|
|
|
|
gotcha_build_dir="$(
|
|
xcodebuild \
|
|
-project Gotcha.xcodeproj \
|
|
-scheme Gotcha \
|
|
-configuration Debug \
|
|
-sdk iphonesimulator \
|
|
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
|
|
-showBuildSettings -json \
|
|
ARCHS=arm64 \
|
|
ONLY_ACTIVE_ARCH=YES |
|
|
plutil -extract 0.buildSettings.TARGET_BUILD_DIR raw -o - -
|
|
)"
|
|
xcrun simctl install booted "$gotcha_build_dir/Gotcha.app"
|
|
xcrun simctl launch booted de.rfc1437.gotcha
|
|
```
|
|
|
|
Before deploying, check for a booted simulator with
|
|
`xcrun simctl list devices available`. If none is booted, boot an available
|
|
iPhone (currently `xcrun simctl boot "iPhone 17 Pro"`) and open Simulator.
|
|
CoreSimulator access may require running `xcodebuild` and `simctl` outside the
|
|
workspace sandbox.
|
|
|
|
## Generated build data
|
|
|
|
Use Xcode's default DerivedData location; do not pass `-derivedDataPath`.
|
|
Cargo's ignored `target/` directory is a disposable build cache. Cargo does not
|
|
bound or garbage-collect stale target artifacts, so check it with
|
|
`du -sh target` and run `cargo clean` when disk space is worth a full rebuild.
|
|
Do not add a custom cache-pruning tool or disable incremental compilation just
|
|
to reduce routine cache usage.
|