How to use iOS Simulator 7 \ XCode 5 to test pre-iOS 7 UI (without upgrading the app for iOS 7) How to use iOS Simulator 7 \ XCode 5 to test pre-iOS 7 UI (without upgrading the app for iOS 7) ios ios

How to use iOS Simulator 7 \ XCode 5 to test pre-iOS 7 UI (without upgrading the app for iOS 7)


This is the scenario:

  • Your app works fine on iOS 6 and lower
  • You want to test your app on iOS 7
  • If you have iOS 7 on your device you'll need XCode 5 in order to test it on it
  • If you want to test it on the iOS 7 simulator you'll need to install XCode 5 for it
  • Compiling your working app on XCode 5 will break all hell loose and will force you to redesign your app at least for iOS 7
  • The solutions suggested here so far will help you to see how your app will look like on iOS 7 but will not keep your iOS 6 and lower look on iOS 7.

Best solution I've found so far:

  1. Update your current XCode to XCode 5
  2. Download XCode 4.6.3 from here
  3. Install it in a different location and Change the name of the app to XCode4 in order to differentiate between the two.
  4. Find your XCode 5 app icon, right click it and select "Show Package Contents"
  5. Locate the folder MacOS and move the xcode file outside of itsfolder. Those last two steps are to prevent you accidentally opening aproject with XCode 5. An alternative is to change the default "Open With" appbut for some reason that didn't workfor me plus I wanted to be extra sure after I had one project opening with XCode 5and the StoryBoard changed to be compatible to XCode 5 only. *
  6. Open XCode 4.6.3 and run your project. In your simulator menu youshould now See iOS 7. Even if in XCode top bar you'll see AppName->iPhone6.1 Simulator , selecting iOS 7 on the simulator will run your app in iOS 7 and keep everything the same.

After the above you'll have two versions of iOS simulator. Version 6 and version 7 that contains iOS 7 Simulator.

Step 5:

enter image description here


COPY iPhoneSimulator6.1.sdk

FROM

<YOUR XCode4 path>/Xcode4.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

TO

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

and set your base target to iOS6.1 (It will be listed after copying/pasting from xcode4) and

enter image description hereenter image description here


You cannot do this on the iOS 7 Simulator. You can do it in the iOS 6 Simulator (running under Xcode 5) and on the device (running iOS 7 as long as you build with the iOS 6 SDK). But there is no iOS 6 compatibility mode in the iOS 7 Simulator.

Note that iOS 6 compatibility mode is not a perfect replication of iOS 6. There are still various behavioral differences that you will likely have to test for and deal with. But the basic UI components are what you expect.