Missing iOS 17 device support files

I just have downloaded Xcode 15 beta version, and upgrade my iPhone to iOS 17 (which I use for developer proposes). Everything works fine, but when I tried to switch back to Xcode 14.3 (coping iOS 17 Device Support files from Xcode 15), I found that there're missing.

I re-download Xcode 15, but the result was the same.

Anyone knows what's happening? Or Where should the files be?

Answered by in 754878022

iOS 17 beta requires Xcode 15 beta.

Copying files from a newer version of Xcode to an older version of Xcode for any purpose was never supported. That it worked for your needs was coincidental.

As the system evolves, any expectations for "how things work" could be made invalid, and this appears to be the case here.

Please use Xcode 15 beta to work with iOS 17 beta.

For earlier OS and Xcode releases, please refer to the Minimum requirements and supported SDKs for appropriate and supported combinations.

—Jason.

Hello @michelf19. Can you explain what you're trying to accomplish? What do you mean by

(coping iOS 17 Device Support files from Xcode 15)

? Are you expecting to copy files from a later version of Xcode to an earlier version of Xcode? To what end?

—Jason.

@Jason Yes. You are right. We ware doing this previously :)

iOS 17 beta requires Xcode 15 beta.

Copying files from a newer version of Xcode to an older version of Xcode for any purpose was never supported. That it worked for your needs was coincidental.

As the system evolves, any expectations for "how things work" could be made invalid, and this appears to be the case here.

Please use Xcode 15 beta to work with iOS 17 beta.

For earlier OS and Xcode releases, please refer to the Minimum requirements and supported SDKs for appropriate and supported combinations.

—Jason.

@Jason This seems completely artificial that it's not supported to run an app from an older version of Xcode on a later iOS version. As you can build the app for device. Then go to Window > Devices and Simulators > Select your iPhone > Installed Apps > + > Navigate to DerivedData and find the app just built. And the old version of Xcode will happily install the app. I can somewhat understand not being able to debug and get logs though

@Jason worked perfectly for me thanks 🤌🏼

Was anyone able to locate the support files, I don't intend to copy them over, but Flutter is complaining about not being able to find support for iOS 17.

Hi folks,

I want to be clear: this issue is specifically about copying files from DeviceSupport.

Discussion about what should or does work is a separate issue, and I encourage you to file feedback if you find any limitations that don't meet your expectation.

We want to run the app on ios17 devices with lower versions of xcode, but it is strange that the iOS DeviceSupport in xcode15 is only up to 16.4, not 17. I don't understand how xcode15 can run the app on iOS17 devices

Because the way Xcode 15 beta talks to devices isn't represented in the DeviceSupport folder, because:

As the system evolves, any expectations for "how things work" could be made invalid, and this appears to be the case here.

There is quite a popular gist that people have updated for about 7 years on how to do this. It's not unusual to do.

I understand. An undocumented process happened to work (yes, for a long time), and now it doesn't. That is the nature of undocumented processes: they are subject to change, and can break things that rely on them.

Flutter is complaining about not being able to find support for iOS 17.

Sounds like Flutter may need to update their assumptions about how the system works. (I don't know why Flutter relies on that folder; that's a question for Flutter.)

—Jason.

Have the same problem.

Seems this does not only happen on Xcode15 beta. I've checked Xcode14.2 and the latest version if device support file is 16.1 😂

Is there any way to get the old Xcode working with the new ios17.

We got some reports from customers that there is some issue with ios17. To debug the issue we need the debugger running. But some of our 3rd party libs are not yet compatible with XCode 15 so the project does not compile and there fore we cannot debug the project with latest xcode.

Usually in this situation we have just copied the device support from old XCode and resolved the issue with debugger of older version of XCode.

Of cource we can add tons of prints to code and try to get the error out the good old traditional way. But having the debugger working is always much nicer way to debug code.

It's a bit convoluted, but the only way I've found to test apps built using Xcode 14, on an iOS17 device - whilst still being able to debug is as follows:

  1. Archive the app using Xcode 14 - choose the "Any iOS Device" run destination.
  2. In organizer, select the archive, and "Show in finder".
  3. Expand the archive using "Show Package Contents", then open "Products -> Applications" to see the app - you'll need this later.
  4. Close Xcode 14, and open Xcode 15.
  5. In Xcode 15, in "Devices and Simulators", select your iOS17 device.
  6. Hit the "+" button at the bottom of "Installed Apps", and drop the application file from step #3. You should see the build number of the app update in the "Installed Apps" list.
  7. You can now run the app built from Xcode 14 manually on the iOS17 device - not using "Cmd+R" from Xcode 15 or you'll replace the app you've just installed.
  8. Still in Xcode 15, attach to the app's process using "Debug -> Attach to Process" - breakpoints don't seem to work, but you can print to the log.

You can also of course deliver the app via TestFlight instead of steps 1-6, and then just attach to the app's process using Xcode 15, and your iOS17 device.

With iOS 17+, we are using a new device stack (CoreDevice) to communicate with devices. With this new device stack, there is one DDI per platform (as opposed to per OS release). This same device stack will be shared across all versions of Xcode on your system, and installing a newer version of Xcode will update CoreDevice and its DDIs (just like how CoreSimulator is updated, if you are familiar with that).

This effectively means that you now have a supported way of updating the device stack on your system to support newer target OS devices. With CoreDevice, you should be able to debug devices running future versions of iOS using Xcode 15. This may require first installing a newer Xcode in order to install newer CoreDevice and DDIs, so keep that in mind.

Of course, this also means there is a temporary hiccup in which the old unsupported path doesn't work, but the good news is that future-you will have a supported way of doing this which works out-of-the-box, no need to modify your Xcode.app.

18
Accepted Answer

In the terminal run:

defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

Then restart Xcode 14 the iOS 17 device will show up in Xcode like below and you can run and debug the app as usual. (You may need to go to Devices and Simulators to pair/trust the device)

I have Xcode 15 beta installed alongside Xcode 14, I'm not sure if that's required or not.

32

In the terminal run: defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled Then restart Xcode 14 the iOS 17 device will show up in Xcode like below and you can run and debug the app as usual. (You may need to go to Devices and Simulators to pair/trust > the device) I have Xcode 15 beta installed alongside Xcode 14, I'm not sure if that's required or not.

wow you just saved me an insane amount of time, thanks so much

In the terminal run: defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

I was unable to debug iOS 17 using Xcode 14.2, but with Xcode 14.3.1, I was able to do so using this method. Thank you very much for this very helpful information.

I have Xcode 15 beta installed alongside Xcode 14, I'm not sure if that's required or not.

Missing iOS 17 device support files
 
 
Q