Have you ever tried debugging your app on an iPhone with latest iOS version?

If yes - then you might have encountered situations when xcode shouts at you, telling that - you can't.

If you are not familiar with this - it happens when your iOS version on device, is greater than the one shipped with your Xcode. For e.g. if your Xcode came with iOS version 10 and your iPhone is running iOS 11.

Understood the problem? Now head to the solution.

Here is how you deal with this situation -

  1. You need to get the DeveloperDiskImage of the iOS version you want to run. The best way to get this image is to find someone who has the latest version of Xcode installed.
  2. Once you have it - Head to the Applications Directory, Right click on Xcode and choose "Show package content".
  3. Now navigate to -> "Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport". You should see something like this - List of iOS versions available in xcode installation
  4. Copy the directory corresponding to your iOS version.
  5. Paste it in the same directory in your Xcode installation.
  6. Restart the Xcode and Yay....!!

As you can see in the screenshot i have device support installed for lots of iOS versions. Apple wants you to support all the iOS versions and you don't want to miss out on those bugs (especially on the beta releases).