1

Is it possible to build using Xcode 5 for iOS 8 simulators?

Specifically looking to build with Xcode 5 because we are close to submitting an app but we'd like to make best efforts with iOS 8. We are able to deploy to an iOS 8 device but we do not have enough devices to cover the possibilities.

Craig
  • 6,869
  • 3
  • 32
  • 52
  • 4
    No. You can use the simulator bundled with the Xcode 6 preview though - check the iOS section of the developer portal for the iOS 8 tab. – thegrinner Aug 25 '14 at 12:12
  • @thegrinner I've already got Xcode 6 installed and have run the project on there. My concern is that the compilation is not the same between Xcode 5 and Xcode 6. Can you comment specifically on that? – Craig Aug 25 '14 at 12:19

3 Answers3

3

No, you cannot install the iOS 8 simulator on Xcode 5. If you want to deploy to both iOS 8 and 7, you can use Xcode 6 and build against the iOS 8 SDK (it will run on both 7 and 8).

Austin
  • 5,625
  • 1
  • 29
  • 43
  • Since we are looking to submit shortly I do not think this will work, as you cannot submit with Xcode 6. We want to leave the base SDK as iOS 7 which can be executed on a device running iOS 8. Ideally we would be able to compile the app using Xcode 5 and run it on simulators with iOS 8 but maybe that's not possible. – Craig Aug 25 '14 at 13:52
1

I'm using the following workaround:

  1. Build and run on Xcode 6.
  2. Find the installed app in the Xcode 6's simulator directory: ~/Library/Developer/CoreSimulator/Devices/<SOME-DEVICE-UDID>/data/Applications/<SOME-APP-UUID>.
  3. Make a note of this path and quit.
  4. Build and run on Xcode 5.
  5. Find the installed app in ~/Library/Application\ Support/iPhone\ Simulator/7.1-64/Applications/<SOME-APP-UUID>.
  6. Move (or copy) the Xcode 5 app to the Xcode 6 location: rm -r <first-path>; cp -r <second-path> <first-path>
  7. Start the Xcode 6 Simulator (from the Xcode 6 -> Open Developer Tool menu).
  8. From the simulator's Springboard start the app.

You can test the app in iOS 8 but you cannot (easily) debug like this.

Nikolai Ruhe
  • 81,520
  • 17
  • 180
  • 200
  • Any idea why I only see _Profiles_ and _RuntimeOverlay_ directories under _CoreSimulator_? – Craig Aug 25 '14 at 14:45
  • @Craig Sorry, no idea. I don't see any `Profiles` and `RuntimeOverlay` directories. – Nikolai Ruhe Aug 25 '14 at 15:14
  • @Craig If you can't find the installed app path just break into the debugger and type `po [[NSBundle mainBundle] bundlePath]` into the debugger console. – Nikolai Ruhe Aug 25 '14 at 15:16
  • `po [[NSBundle mainBundle] bundlePath]` led me to realize that I was looking in the wrong place. Will give this a shot. Thanks! – Craig Aug 25 '14 at 15:25
1

I was able to check iOS 8 compatibility by compiling an ad-hoc beta version and installing that via iTunes on my iOS 8 iPad. Not as easy as regular compiles direct from xcode but good enough to check the final master before submitting for approval.

amergin
  • 3,106
  • 32
  • 44
  • 1
    If you are using iOS 7 as the base SDK and just want to deploy your app from Xcode to your device, which is running iOS 8, you can do the following: 1. _close all instances of Xcode_ 2. _Open Xcode 6_ 3. _Open Xcode 5 (both running now)_ 4. _Close Xcode 6_ Then Xcode 5 will be able to deploy to your iOS 8 device. This is what I've been doing.But interested in testing on more devices :) – Craig Aug 27 '14 at 12:28
  • @Craig - not sure what's different about my setup but I've tried this and it's not working. iMac running ML (latest), xcode5 (latest), xcode6 (latest). Seem to spend my life standing on one leg whistling yankee-doodle-dandy just to get stuff working in the simplest of ways. Growing to detest programming (and apple). – amergin Aug 27 '14 at 13:55
  • @Craig I did this on accident a few days ago and was wondering why I couldn't get it to work today. Your comment saved me. Thanks! – Randall Aug 27 '14 at 17:25