Skip to content

Update ios.yml with new device and OS version#308

Merged
alexianunez merged 11 commits intomainfrom
connectsdk-ios-device-os-update
Apr 2, 2025
Merged

Update ios.yml with new device and OS version#308
alexianunez merged 11 commits intomainfrom
connectsdk-ios-device-os-update

Conversation

@alexianunez
Copy link
Copy Markdown
Contributor

No description provided.

Comment on lines +21 to +22
os: ${{ '18.1' }}
device: ${{ 'iPhone 16' }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can just delete these. What happens if you don't include them?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These params are used in the xcodebuild invocation build later in the script so that command will fail. Instead, we should update the xcodebuild command to use whatever the latest os version is. Can you make that update?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will do!

Comment on lines +31 to +43
# Find latest available iOS runtime identifier
latest_runtime_id=$(xcrun simctl list runtimes | grep -E "iOS [0-9]+\.[0-9]*" | grep -v unavailable | sort -Vr | head -n 1 | sed -E 's/.*- (.*)$/\1/')

# Find a compatible simulator device name for that runtime
device_name=$(xcrun simctl list devices available | grep "$latest_runtime_id" | head -n 1 | sed -E 's/^ (.+) \(.+\) \(.+\)$/\1/')

if [ -z "$latest_runtime_id" ] || [ -z "$device_name" ]; then
echo "❌ Failed to find a valid iOS runtime or device."
exit 1
fi

echo "🛠 Using runtime: $latest_runtime_id"
echo "📱 Using device: $device_name"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be simpler to use xcrun to get the available devices and picking the very first iPhone simulator on that list:

device_name=$(xcrun simctl list devices available | grep "iPhone" | head -n 1 | sed -E 's/^[[:space:]]*(.+) \(.+\) \(.+\)$/\1/')

Then your xcodebuild invocation would look something like:

# Build and run the tests
xcodebuild test \
  -scheme "$scheme" \
  -"$filetype_parameter" "$file_to_build" \
  -destination "platform=iOS Simulator,name=$device_name"

@alexianunez alexianunez merged commit 5652d55 into main Apr 2, 2025
1 check passed
@alexianunez alexianunez deleted the connectsdk-ios-device-os-update branch April 2, 2025 20:46
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