bump-ios-version
Bump iOS and Xcode versions in Eigen. Use when the user wants to upgrade iOS SDK version, update Xcode version, change simulator version, or update CI configuration for new iOS/Xcode releases.
Install
mkdir -p .claude/skills/bump-ios-version && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2672" && unzip -o skill.zip -d .claude/skills/bump-ios-version && rm skill.zipInstalls to .claude/skills/bump-ios-version
About this skill
Bump iOS/Xcode Version
This skill guides you through bumping the iOS and Xcode version in Eigen.
Before You Start
Prompt the user for the target version:
- Ask which iOS version they want to bump to (e.g., "26.2")
- Ask which Xcode version they want to use (e.g., "26.2")
- Ask which iPhone model to use for simulators (e.g., "iPhone 17 Pro")
Verify version support before making changes:
CircleCI Support
Check supported Xcode versions at: https://circleci.com/developer/machine/image/xcode
Currently supported versions include:
- 26.2, 26.1.1, 26.1, 26.0.1, 26.0
- 16.4, 16.3, 16.2
GitHub Actions Support
Check macOS runner images at: https://github.com/actions/runner-images
For macOS 15 runners, available Xcode versions include:
- 26.2, 26.1.1, 26.0.1
- 16.4 (default), 16.3, 16.2, 16.1, 16.0
If the requested version is not supported by both CI systems, warn the user that CI builds may fail.
iPhone Device Compatibility
Different iOS versions require specific iPhone simulator models. You must verify the iPhone model is available for the target iOS version in CircleCI's image manifest.
How to verify:
- Go to https://circleci.com/docs/guides/test/testing-ios/#supported-xcode-versions
- Find the target Xcode version row
- Click on "Installed software" link in the "VM Software Manifest" column
- In the manifest, search for the iOS version to see which iPhone simulators are available
Example compatibility (from CircleCI Xcode 26.2 manifest):
| iOS Version | Available iPhone Models |
|---|---|
| iOS 18.x | iPhone 16 Pro, iPhone 16 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16e |
| iOS 26.x | iPhone 17 Pro, iPhone 17 Pro Max, iPhone 17, iPhone Air, iPhone 16e |
Important: iOS 26 simulators require iPhone 17 series devices. Using iPhone 16 Pro with iOS 26 will fail because it's not available in the manifest.
Steps
1. Update ios-config.json (single source of truth)
Update ALL fields in ios-config.json at the project root:
{
"xcode_version": "<NEW_XCODE_VERSION>",
"ios_version": "<NEW_IOS_VERSION>",
"iphone_model": "<NEW_IPHONE_MODEL>",
"simulator_device_type": "com.apple.CoreSimulator.SimDeviceType.<DEVICE-TYPE-ID>",
"simulator_runtime": "com.apple.CoreSimulator.SimRuntime.iOS-<MAJOR>-<MINOR>"
}
2. Update .circleci/config.yml (cannot read from JSON at runtime)
CircleCI pipeline parameter defaults must be static YAML values. Update these three values in the parameters section:
parameters:
xcode_version:
type: string
default: "<NEW_XCODE_VERSION>"
simulator_version:
type: string
default: "<NEW_IOS_VERSION>"
Also update the device in the macos/preboot-simulator step of the build-test-app-ios job:
- macos/preboot-simulator:
version: << pipeline.parameters.simulator_version >>
platform: "iOS"
device: "<NEW_IPHONE_MODEL>"
3. That's It!
The following files read directly from ios-config.json and need NO manual updates:
scripts/ci/ci-setup-export-vars(reads viajq)scripts/utils/doctor.js(reads viafs.readFileSync+JSON.parse)fastlane/Fastfile(reads viaFile.read+JSON.parse).github/actions/setup-ios-environment/action.yml(reads viajq).github/workflows/ios-e2e-maestro.yml(reads viajq)ios/ArtsyTests/Supporting_Files/ARTestHelper.m(reads viaNSJSONSerializationfrom test bundle)
Summary Checklist
- Verify target Xcode version is supported by CircleCI
- Verify target Xcode version is supported by GitHub Actions
- Verify iPhone model is available for target iOS version (check CircleCI manifest)
- Update
ios-config.json - Update
.circleci/config.yml(xcode_version, simulator_version, preboot-simulator device)
Testing (done by user)
After making changes:
- Push changes and verify CircleCI builds pass
- Verify GitHub Actions E2E tests create the simulator correctly
More by artsy
View all skills by artsy →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversXcodeBuild streamlines iOS app development for Apple developers with tools for building, debugging, and deploying iOS an
By Sentry. MCP server and CLI that provides tools for AI agents working on iOS and macOS Xcode projects. Build, test, li
Convert lat long or GPS data easily with GIS Operations. Perform coordinate transformations, MGRS, and military grid con
Build iOS apps efficiently with Xcodebuild, integrating testing and error handling. Automate BrowserStack for seamless d
Rtfmbro is an MCP server for config management tools—get real-time, version-specific docs from GitHub for Python, Node.j
Sonatype: component intelligence with version tracking, security analysis, and Trust Score recommendations to secure and
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.