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)
:
iPhone listed with "(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+)?
8
Answers
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
)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
After the files are downloaded, double click on the .zip file to unpack them into a 14.5 directory:
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
(underProduct
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.
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
Download iOS Device Support Here: https://youtu.be/akhC3W4S9a0?t=21
How to:
Download version you need listed above;
Unzip it;
Close Xcode;
Copy and paste unziped folder by path:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
Restart Xcode
This might be a temporary solution but here is what worked for me:
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 iPhoneios 14.6
close
xcode
download
14.5(FromXcode_12.5_Release_Candidate_xip).zip
unzip
14.5(FromXcode_12.5_Release_Candidate_xip).zip
it will give you folder14.5
copy folder
14.5
to/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
then copy folder
14.5
to/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
and rename to14.6
after step 4 you should have something like
../iPhoneOS.platform/DeviceSupport/14.5
and../iPhoneOS.platform/DeviceSupport/14.6
launch
xcode
run your appyou 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.
We need to add “Device Support Files” for device iOS version number in XCode App Content path
To Download "Device Support Files" for desired iOS Version – You can download from internet by searching like this
I downloaded from this first link and paste in the above mentioned xcode App Content path where you must have to make folder first for Version number like 14.7. It worked then.
Link is: https://github.com/filsv/iPhoneOSDeviceSupport
This might not be the right answer for everyone, but for me I just needed to upgrade the operating system on my computer. (Note also that the error says "Unsupported OS version", not iOS version.) I was on Catalina with XCode 12.5. After upgrading to Monterrey with Xcode 13.1, all worked fine.
If you have more than 1 version open the one that you need
On finder, Right Clic on latest version and Duplicate
Change the name of version that you need
Use this link for updated support files.
https://github.com/iGhibli/iOS-DeviceSupport
Also, In case you are stuck between the version being launched and support files not updated on the link. Try renaming the last updated file folder with new version and paste it into the given directory. Tried that for iOS 15.6, Have renamed the 15.5 folder with 15.6 and it’s working.