#!/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}"