Add iOS simulator launch scripts
This commit is contained in:
35
scripts/run-ios-simulator-app.sh
Executable file
35
scripts/run-ios-simulator-app.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
|
||||
if [[ -z "${DEVELOPER_DIR:-}" && -d /Applications/Xcode.app/Contents/Developer ]]; then
|
||||
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
|
||||
fi
|
||||
|
||||
configuration="${IOS_CONFIGURATION:-Debug}"
|
||||
derived_data="${IOS_DERIVED_DATA:-/private/tmp/tele-tui-ios-derived-data}"
|
||||
bundle_id="${IOS_BUNDLE_ID:-dev.teletui.TeleTuiIOSApp}"
|
||||
app_path="${derived_data}/Build/Products/${configuration}-iphonesimulator/TeleTuiIOSApp.app"
|
||||
|
||||
"${repo_root}/scripts/build-ios-simulator-app.sh"
|
||||
|
||||
simulator_udid="${IOS_SIMULATOR_UDID:-}"
|
||||
if [[ -z "${simulator_udid}" ]]; then
|
||||
simulator_udid="$(xcrun simctl list devices available | awk -F '[()]' '/iPhone/ { print $2; exit }')"
|
||||
fi
|
||||
|
||||
if [[ -z "${simulator_udid}" ]]; then
|
||||
printf 'No available iPhone simulator found. Run scripts/check-ios-prereqs.sh for details.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! xcrun simctl list devices "${simulator_udid}" | grep -q 'Booted'; then
|
||||
xcrun simctl boot "${simulator_udid}"
|
||||
fi
|
||||
|
||||
xcrun simctl bootstatus "${simulator_udid}" -b
|
||||
xcrun simctl install "${simulator_udid}" "${app_path}"
|
||||
xcrun simctl launch "${simulator_udid}" "${bundle_id}"
|
||||
|
||||
printf 'Launched %s on simulator %s.\n' "${bundle_id}" "${simulator_udid}"
|
||||
Reference in New Issue
Block a user