Xcode 12.4 “Unsupported OS version” after iPhone iOS update 14.7

After updating iPhone iOS version to 14.7+, Xcode 12.4 can no longer build to that iPhone device.

In Xcode when choosing a Build Destination (Product > Destination > [device] or from the UI dropdown shown below) the newly updated iPhone will have beside it (unsupported OS version):

xcode build destinations dropdown

iPhone listed with "(unsupported OS version)".

unsupported OS version

Can't Upgrade to Big Sur / Xcode 12.5

I'm stuck on Mac OS Catalina (old hardware) and cannot upgrade to Xcode 12.5 which requires Big Sur.

How can we add/update device support to Xcode to build to an unsupported iPhone version (iOS 14.7+)?


Add/Update Unsupported iOS Version to Xcode

Apple has no plans to update Xcode 12.4 to support iOS 14.6, 14.7, etc.

But we can copy Xcode version 14.5 DeviceSupport files (download if needed) and paste (or symlink) them into directories named 14.6, 14.7, etc. (Thanks to @LPG for note on symbolic links.)

Xcode DeviceSupport Directories

Xcode DeviceSupport directories are located at: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

(In Finder, right-click on /Applications/Xcode & choose Show Package Contents)

Xcode DeviceSupport directories The list of directories will not include 14.6, 14.7 (or perhaps not even 14.5).

(If 14.5 directory is already present, simply copy/paste or symlink that directory to duplicate it with name as 14.6 or 14.7, etc. as needed, otherwise...)

Get DeviceSupport Files

The quickest way to grab device support files is from this (unofficial) Github project:

https://github.com/iGhibli/iOS-DeviceSupport

In particular, we want the 12.5 release candidate zip file (14.6, 14.7 do not exist yet):

https://github.com/iGhibli/iOS-DeviceSupport/blob/master/DeviceSupport/14.5(FromXcode_12.5_Release_Candidate_xip).zip

Inside the 12.5 Release Candidate in Github, download this .zip

download 12.5 DeviceSupport release candidate files

After the files are downloaded, double click on the .zip file to unpack them into a 14.5 directory:

14.5 DeviceSupport files

Add DeviceSupport 14.5 / 14.6 / 14.7 to Xcode

Copy and paste the 14.5 directory into /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport.

Make a duplicate of 14.5 directory by copy and pasting it into the same directory (into DeviceSupport) then rename the directory to 14.6, 14.7, etc. as necessary.

If Xcode is open, Clean Build Folder (under Product menu heading). I'm unsure if this is strictly necessary. (The next time I attached my phone, Xcode also updated & processed cache files from the device itself, which took several minutes.)

Close Xcode (if open).

Attach iPhone via USB. If you haven't already updated your Mac OS to support your phone on 14.6 / 14.7, your Mac may ask you to update the Mac OS software in order to connect to your iOS 14.6 / 14.7 device. I accepted this update request. It took several minutes to complete. (I believe this is unrelated to Xcode, rather iTunes, & other Mac services, etc.)

I needed to reboot my Mac after this. Unsure if this is required for everyone.

Open Xcode. Open the build destinations dropdown beside Runner and your iPhone 14.6 / 14.7 device should (hopefully) no longer has the "(unsupported os version)" note beside it.

Xcode Build Destinations 14.6 supported

Now as a supported 14.6 / 14.7 phone device under Xcode 12.4, you should be able to build debug, profile & release versions of your app to your physical iPhone.

Other Issues

"Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window"

  • try rebooting your phone / iOS device

This might be a temporary solution but here is what worked for me:

  1. Go into contents/Developer/platform/iPhoneOS.platform/DeviceSupport
  2. Copy your previous iOS 14.5 the device support file or older version
  3. Paste into the same folder and change the iOS number to 14.6
  4. Restart Xcode, and it should let you run your code on your phone

FYI this has worked for me before too for a different iOS so it might be able to help for later versions if anyone gets stuck or cant run Xcode on their phone.


@Baker's solution worked for me

In my case I had xcode 12.3 and wanted to run app on my iPhone ios 14.6

  1. close xcode

  2. download 14.5(FromXcode_12.5_Release_Candidate_xip).zip

  3. unzip 14.5(FromXcode_12.5_Release_Candidate_xip).zip it will give you folder 14.5

  4. copy folder 14.5 to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  5. then copy folder 14.5 to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport and rename to 14.6

  6. after step 4 you should have something like ../iPhoneOS.platform/DeviceSupport/14.5 and ../iPhoneOS.platform/DeviceSupport/14.6

  7. launch xcode run your app

you might need to restart your iPhone if it stucks on iPhone is busy: Preparing debugger support for iPhone Xcode will continue when iPhone is finished.