33 lines
1.3 KiB
Bash
33 lines
1.3 KiB
Bash
# Create sim if needed
|
|
test_device_id=$( xcrun simctl list devices | grep "circleci-test-device" | sed 's/ *circleci-test-device *(//' | sed 's/).*//' )
|
|
|
|
if [[ -z $test_device_id ]] ; then
|
|
echo "Creating test device"
|
|
|
|
# Get the most recent available runtime
|
|
runtime=$( xcrun simctl list runtimes iOS | sed 's/iOS //' | sort -h | tail -1 | sed 's/.* - //' | tr -d '[:space:]' )
|
|
echo "Runtime: '${runtime}'"
|
|
|
|
# Get the last alphabetical device (probably something in the iPhone X family, as of 2019-05-31)
|
|
devicetype=$( xcrun simctl list devicetypes "iPhone " | sort | tail -1 | sed 's/.*(//' | sed 's/).*//' | tr -d '[:space:]' )
|
|
echo "Device type: '${devicetype}'"
|
|
|
|
test_device_id=$( xcrun simctl create "circleci-test-device" "${devicetype}" "${runtime}" | tr -d '[:space:]' )
|
|
fi
|
|
|
|
echo "test_device_id: ${test_device_id}"
|
|
echo "export test_device_id='$test_device_id'" >> $BASH_ENV
|
|
|
|
# Boot sim if needed
|
|
xcrun simctl list devices ${test_device_id} | grep -q Booted
|
|
if [[ $? -eq 1 ]] ; then
|
|
echo "Booting ${test_device_id}"
|
|
xcrun simctl boot ${test_device_id}
|
|
fi
|
|
|
|
# destinationspecifier for xcodebuild commands
|
|
destination="platform=iOS Simulator,id=${test_device_id}"
|
|
echo "destination: ${destination}"
|
|
echo "export destination='$destination'" >> $BASH_ENV
|
|
|