Skip to content

Instantly share code, notes, and snippets.

@steipete
Last active December 12, 2023 03:36
Show Gist options
  • Save steipete/d9b44d8e9f341e81414e86d7ff8fb62d to your computer and use it in GitHub Desktop.
Save steipete/d9b44d8e9f341e81414e86d7ff8fb62d to your computer and use it in GitHub Desktop.
Using iOS 15 devices with Xcode 12.5 (instead of Xcode 13)
# The trick is to link the DeviceSupport folder from the beta to the stable version.
# sudo needed if you run the Mac App Store version. Always download the dmg instead... you'll thank me later :)
# Support iOS 15 devices (Xcode 13.0) with Xcode 12.5:
sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/15.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
# Then restart Xcode and reconnect your devices. You will need to do that for every beta of future iOS versions
# (A similar approach works for older versions too, just change the version number after DeviceSupport)
@mbuchetics
Copy link

Wenn I do that, the different Xcode versions both modify the project file and each is complaining about the changed file. It's annoying, any workaround for that?

@hybridcattt
Copy link

hybridcattt commented Oct 18, 2020

I used a combination of os_log and viewing logs in Console.app with disabling debugging in the scheme to avoid the alert popping up.
Then I used Xcode 12 for the breakpoints when needed. I tried using "run without building" on Xcode 12, but since I had to rebuild a lot, it wasn't an optimal workflow for me.
I ended up writing an article about my experience debugging on iOS 14 with Xcode 11: https://hybridcattt.com/blog/debugging-on-ios14-with-xcode-11/

@dyncoch
Copy link

dyncoch commented Oct 23, 2020

Having the same issue here debugging an iOS-13-SDK-app on iOS 14. But I've found a workaround for the workaround ;-)

  • Build (Archive) the app with Xcode 11
  • Deploy the app (Window -> Devices and Simulators) -> drag the app from the xcarchive to the device (the app can be found in subfolder Products/Application within the xcarchive)
  • Start the app on the device
  • Attach to the process with Xcode 12

At least for me, breakpoints, view hierarchy and memory graph is working this way.

EDIT: Just noticed that @silver777 described a workaround above which does the same but with a better UX. Didn't know that "Run without building"-Shortcut. 👍 (but you have to take care to not building with Xcode 12 by accident)

Thanks! That worked for me. Xcode Version 12.1 (12A7403) iOS 14.2 (18B5083a)

@mjwvb
Copy link

mjwvb commented Dec 10, 2020

I updated to iOS 14 beta 6, and I have the same "Failed to start remote service" error on Xcode 11.6.

My workaround is as such: I keep both Xcode and Xcode-beta open, I run (Cmd+R) on Xcode 11.6 until it fails. Then, I run without building (Cmd+Ctrl+R) on Xcode-beta. That way, I keep using iOS 14 beta and Xcode 11.6 for work without updating the project to the iOS 14 SDK.

This actually works! Thank you @silver777, you saved my day

@AbdullahAshi
Copy link

I updated to iOS 14 beta 6, and I have the same "Failed to start remote service" error on Xcode 11.6.

My workaround is as such: I keep both Xcode and Xcode-beta open, I run (Cmd+R) on Xcode 11.6 until it fails. Then, I run without building (Cmd+Ctrl+R) on Xcode-beta. That way, I keep using iOS 14 beta and Xcode 11.6 for work without updating the project to the iOS 14 SDK.

A legend! Thank you !

@alexeylobankov
Copy link

Thank you, works like a charm!

@RohithSriram
Copy link

I got past all this and at the end of installation I’m getting: Unable to install KiteApp without any errors and app doesn’t get installed on my phone. I’m using Xcode 12.4 and running on iOS 15 beta device. Any suggestions?

@huohsien
Copy link

for Released Xcode 13's support file and iOS 15 (not beta) , it can be built but shows: "Unable to install 'app name'"
Please advise

@Aziaev
Copy link

Aziaev commented Sep 25, 2021

for Released Xcode 13's support file and iOS 15 (not beta) , it can be built but shows: "Unable to install 'app name'"
Please advise

I have same issue. I cant deploy my app to my IOS 15 device. What should I do?

@huohsien
Copy link

huohsien commented Sep 25, 2021

I found the solution. It's about signing. To my rough understanding, now Apple changed the way of signing.

In project:

TARGETS>Building Setting>

Find /search

"OTHER_CODE_SIGN_FLAGS"
Add the following flag to Debug mode(or Release mode depending on your purpose)

--generate-entitlement-der
RELEASE APPSTORE

@emirhankolver
Copy link

I found the solution. It's about signing. To my rough understanding, now Apple changed the way of signing.

In project:

TARGETS>Building Setting>

Find /search

"OTHER_CODE_SIGN_FLAGS" Add the following flag to Debug mode(or Release mode depending on your purpose)

--generate-entitlement-der RELEASE APPSTORE

Finally I've installed my app on my device, but I had little difficulty while finding the Other Code Signing Flags.
Don't forget to click on the All option that below Build Settings

@padmasrisekar
Copy link

Hi, Could anyone share ios 15 simulator package for Xcode12.4?
Is it possible to run ios15 in xcode 12.4?

Quick response would be helpful and really appreciated.

@tahirmt
Copy link

tahirmt commented Oct 8, 2021

I don’t believe you can create a link for that but if you launch Xcode 13 and open the simulator you want, then launch Xcode 12 the simulator should show up as run destination.

@shawn-frank
Copy link

Despite trying this for my release version

I found the solution. It's about signing. To my rough understanding, now Apple changed the way of signing.

In project:

TARGETS>Building Setting>

Find /search

"OTHER_CODE_SIGN_FLAGS" Add the following flag to Debug mode(or Release mode depending on your purpose)

--generate-entitlement-der RELEASE APPSTORE

We still are unable to install the ipa on iOS 14.7, iOS 15. Any ideas ?

image

@rshev
Copy link

rshev commented Nov 24, 2021

If you need iOS 15.1 support (Xcode 13.1 has only 15.0 directory) you can also do this as a follow up to the original gist:

sudo ln -s 15.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/15.1

which works at the time of writing (Xcode 13.1 and Xcode 12.5.1).

@rafaelks
Copy link

rafaelks commented Jun 8, 2022

If you need iOS 16 support on Xcode 13.4.1, here's the command (make sure you've Developer Mode enabled):

sudo ln -s /Applications/Xcode\ 14\ Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/16.0 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

@Jon889
Copy link

Jon889 commented Jul 3, 2023

I saw something in a build log (from Xcode 14) about CoreDevice being disabled, took a guess and if you do:

defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

Then restart Xcode the iOS 17 device will show up in Xcode like this. Then you can run and debug the app as usual. I have Xcode 15 installed alongside Xcode 14 but not sure if thats a requirement. It took a while to copy symbols from device but eventually it got there.

Screenshot 2023-07-03 at 21 18 50

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment