Generally speaking, it’s a good idea to use always the newest Xcode version. However, in reality there are situations where you still have to use an older Xcode version. In this situation it’s not possible to debug on a device that has a new iOS version installed. Fortunately, there’s a solution for that problem.
Hint: This post uses Xcode 8.2.1
So imagine you are working on a project that isn’t migrated to the iOS 10 SDK yet, but you have to publish a critical bugfix. Then you can still use Xcode 7.3.1, but it won’t be possible to debug on an iPhone using iOS 10. If you have an iOS 10 specific issue, that’s a big problem. But you can solve this problem.
Just perform the following steps:
- Open the package content of your newest Xcode installation by option click on the application and choosing “Show package content”.
- Go to the sub directory “Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport”
- Inside this directory there are subdirectories for every supported iOS version. Now copy the folder of the version your iPhone is running and copy it to the corresponding path of your older Xcode installation.
Now it’s possible to debug directly on your new iPhone using the older Xcode version.
Running several Xcode versions in parallel
Perhaps you have wondered how it’s possible to install several Xcode versions in parallel on your Mac. Of course it’s advisable that inside your application folder there is always the newest Xcode version that gets updated by the App Store. But additionally you can install other Xcode versions to subdirectories of your application folder by downloading it manually and copying to that locations.
Title Image: @ Shaiith / shutterstock.com