Postponing changes for iOS 7 (base SDK 6.1 in Xcode 5)


N.B. This method is now deprecated as Apple have enforced a rule which requires you to build with SDK 7 now only. Apps built with previous SDKs will be rejected. If you would like us to help you upgrade your app, get in touch.

With the evolution of iOS 7 many app developers have been struggling to support the changes that the new operating system has imposed. The most frustrating changes are the visual glitches as these are the ones most obvious to customers.

The issues can be categories into two situations:

  1. Glitches displayed in previous SDKs
  2. Glitches caused by the new 7.0 SDK

In order to save the effort and undertaking of addressing the many issues, please ignore the latter (for now atleast).

To resolve this you need to ensure you build with a previous version of the SDK (we recommend 6.1 but it will depend on your backwards compatibility support).

This is an easy task if you have not yet upgraded to Xcode 5 as you will not yet have the 7.0 SDK, so – you are done, just schedule in some time to address additional issues once you complete the upgrade – the 7.0 SDK brings in more potential problems.

If however you have upgraded to Xcode 5 (like us you work on multiple projects targetting different SDKs) this option is not available. You will need to do a simple hack in order to enable it.

Follow the following steps below:

  1. Find a Mac which is running Xcode 4 and the SDK you require.
  2. Open the Applications folder in Finder
  3. Right click on and select Show Contents
  4. Browse to: Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
  5. Copy the SDK to a USB/Network share
  6. On the Mac with Xcode 5 do the same:
  7. Open the Applications folder in Finder
  8. Right click and select Show Contents
  9. Browse to: Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
  10. Paste in the previous SDK from your USB/Network
  11. (You could alternatively symlink the folder from a location on your computer if you wished)
  12. Restart Xcode
  13. Select SDK 6.1 from Build properties

You will now have the ability to set your base SDK to the previous version. That is it – simples!

You can test the differences by downloading the 6.1 simulator if you haven’t already done so through the Xcode preferences dialog:

Whilst this is only a short term solution it will mitigate some of the more trying issues that the iOS 7 SDK inflicts on developers.

Good luck