Add iOS bootstrap + E2E scripts and reference-app scripts READMEs#298
Merged
Conversation
Charles Hudson (phobetron)
approved these changes
May 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 viaxcodebuild, sharing the same knobs asbootstrap.sh(APP_SHELL,IOS_SIM_NAME,MOCK_SERVER_PORT,SKIP_BUILD) plusONLY_TESTINGfor targeting a single test, andAPP_SHELL=bothto 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 existingbootstrap.sh,run-e2e.sh(UI Automator 2), andprepare-env.sh, with their environment variables.implementations/ios-sdk/README.mdwith 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:8000directly.Validation
bash -nsyntax check passes on both new scripts.iPhone 16simulator is absent).git diff --checkclean.🤖 Generated with Claude Code