Xcode 12.4 iPhone iOS 更新14.7之后的“不支持 OS 版本”

在将 iPhone iOS 版本升级到14.7 + 之后,Xcode 12.4就不能再构建到那个 iPhone 设备上了。

在 Xcode,当选择构建目的地(Product > Destination > [ device ]或从下面显示的 UI 下拉列表中选择)时,新升级的 iPhone 将在其旁边放置 (unsupported OS version):

xcode build destinations dropdown

列出“(不支持的操作系统版本)”的 iPhone。

unsupported OS version

无法升级到 Big Sur/Xcode 12.5

我被 Mac OS Catalina (旧硬件)和 无法升级到 Xcode 12.5,这需要大索尔卡住了。

我们如何在 Xcode 中添加/更新设备支持来构建不支持的 iPhone 版本(iOS 14.7 +) ?

53720 次浏览

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"

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:

  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.

We need to add “Device Support Files” for device iOS version number in XCode App Content path

contents/Developer/platform/iPhoneOS.platform/DeviceSupport

To Download "Device Support Files" for desired iOS Version - You can download from internet by searching like this

ios 14.7 device support for xcode

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.

  1. Open Terminal and type
  2. open /applications/xcode.app/Contents/Developer/Platforms/iPhoneOS.platform

If you have more than 1 version open the one that you need

  1. On finder, Right Clic on latest version and Duplicate

  2. 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.