Updating Xcode Simulators for iOS Development
Problem Statement
When building an iOS app using Xcode, you may encounter an error like this:
Failed to build iOS app
Uncategorized (Xcode): Unable to find a destination matching the provided destination specifier:
{ id:68701885-51DD-4C52-8CD6-240BA3CE89A4 }
Ineligible destinations for the "Runner" scheme:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder,
name:Any iOS Device,
error:iOS 17.2 is not installed. To use with Xcode, first download and install the platform }
This error occurs when:
- You have the latest Xcode version installed
- The specific iOS Simulator version you need (in this case iOS 17.2) is not available
- Xcode cannot automatically fetch the required Simulator runtime
- Your test target requires a simulator version that isn't installed
Solutions
Method 1: Install Simulators Through Xcode
Xcode provides a built-in interface for installing Simulator runtimes:
1. Open Xcode
2. Navigate to Xcode → Settings
3. Select the "Components" tab
4. Find "iOS 17.2 Simulator" in the list
5. Click the Install button next to it
1. Open Xcode
2. Navigate to Xcode → Settings
3. Select the "Platforms" tab
4. Find "iOS 17.2" in the list
5. Click the Get button next to it
After installation completes:
- Restart Xcode
- Clean your build folder (Product → Clean Build Folder)
- Restart your simulator
Method 2: Manual Installation via Command Line
If the simulator doesn't appear in Xcode's components list:
Download iOS 17.2 Simulator Runtime
Get the official disk image from Apple at:
https://download.developer.apple.com/Developer_Tools/iOS_17.2_Simulator_Runtime/iOS_17.2_Simulator_Runtime.dmgWARNING
Always verify simulator runtimes come from official Apple sources to avoid security risks
Install the runtime
Run this command in Terminal:bashxcrun simctl runtime add ~/Downloads/iOS_17.2_Simulator_Runtime.dmg
Verify installation
Check available runtimes with:bashxcrun simctl runtime list
Key Explanations
Why This Occurs
- Apple frequently releases new iOS versions between major Xcode updates
- Simulator runtimes are downloaded separately to reduce Xcode installation size
- Some frameworks/features require specific simulator versions
How to Prevent Future Issues
- Regularly check for new runtimes in Xcode → Settings → Components
- When updating Xcode, verify your simulators afterward
- For team projects, include simulator requirements in documentation
- Add dependency checks to your build scripts:
# Example check in build script
xcrun simctl runtime list | grep -q "iOS 17.2" || {
echo "iOS 17.2 Simulator missing";
exit 1;
}
Critical Notes
- The manual download URL format may change for different iOS versions
- Xcode 16 redesigned its settings interface (hence the different instructions)
- Recent Xcode versions may automatically prompt to install missing simulators
TIP
If you frequently switch between iOS versions, consider creating a script to automate installation of multiple simulator runtimes. Use Apple's download portal at developer.apple.com/download/all to find the latest simulator packages.
Troubleshooting
- If installation fails, reset Xcode's simulator list:
xcrun simctl delete unavailable
- Ensure sufficient space in
/Library/Developer/CoreSimulator/
- Reset package manager caches if using a dependency manager (CocoaPods, SPM)
- Disable VPNs that might interfere with Apple's servers
With these steps, you should resolve the "iOS 17.2 is not installed" error be ready to develop and test using the required simulator.