Skip to content

Add iOS bootstrap + E2E scripts and reference-app scripts READMEs#298

Merged
Alex Freas (akfreas) merged 4 commits into
mainfrom
add-ios-bootstrap-e2e-scripts
May 30, 2026
Merged

Add iOS bootstrap + E2E scripts and reference-app scripts READMEs#298
Alex Freas (akfreas) merged 4 commits into
mainfrom
add-ios-bootstrap-e2e-scripts

Conversation

@akfreas
Copy link
Copy Markdown
Contributor

Summary

Adds a one-shot bootstrap script and an E2E test runner for the iOS reference app, plus READMEs documenting the helper scripts for both the iOS and Android reference apps.

What's included

  • implementations/ios-sdk/scripts/bootstrap.sh — one-shot configure → build → launch. Runs preflight checks first (macOS, Xcode Command Line Tools, full Xcode + license, an available iOS Simulator runtime, Node/pnpm, and XcodeGen — auto-installed via Homebrew if missing). Each failing check prints exact remediation steps and stops before anything is built. On success it builds the JS bridge, generates the Xcode project, starts the mock server, boots a simulator, and installs + launches the app. When idle, a simulator is running with the reference app and the mock server is up.
  • implementations/ios-sdk/scripts/run-e2e.sh — runs the XCUITest suite via xcodebuild, sharing the same knobs as bootstrap.sh (APP_SHELL, IOS_SIM_NAME, MOCK_SERVER_PORT, SKIP_BUILD) plus ONLY_TESTING for targeting a single test, and APP_SHELL=both to run both shells.
  • implementations/ios-sdk/scripts/README.md — documents both iOS scripts, their preflight checks, and environment variables.
  • implementations/android-sdk/scripts/README.md — documents the existing bootstrap.sh, run-e2e.sh (UI Automator 2), and prepare-env.sh, with their environment variables.
  • Updates implementations/ios-sdk/README.md with a "Running locally" section.

Unlike Android, the iOS scripts need no port forwarding: the Simulator shares the host network, so the app reaches the mock server at localhost:8000 directly.

Validation

  • bash -n syntax check passes on both new scripts.
  • Preflight detection logic validated command-by-command against a real macOS + Xcode 26.5 machine (including the fallback when the default iPhone 16 simulator is absent).
  • READMEs formatted with Prettier; git diff --check clean.
  • Did not run the scripts end-to-end (they build/launch/test the app); the iOS bootstrap was confirmed working separately by the author.

🤖 Generated with Claude Code

@akfreas Alex Freas (akfreas) merged commit 2c22c07 into main May 30, 2026
32 checks passed
@akfreas Alex Freas (akfreas) deleted the add-ios-bootstrap-e2e-scripts branch May 30, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants