0

Is it possible to use iOS10 Simulators with XCode7.2? I know that it is possible to deploy on iOS10 devices (by e.g. linking the right developer disk image) but this doesn't help for automated tests on my CI environment.

cakl
  • 390
  • 1
  • 3
  • 13
  • Check this link http://stackoverflow.com/questions/37945376/use-xcode-7-with-ios-10 – jhack Nov 29 '16 at 22:03
  • This link just shows how to use XCode 7 with iOS devices, but not with **iOS10 simulators**. – cakl Nov 30 '16 at 08:43

1 Answers1

1

It is possible, but not supported. You'd need to construct your own simruntime bundle in /Library/Developer/CoreSimulator/Profiles from the simrtunime and iPhoneSimulator.sdk that are in Xcode 8.

This is very much not supported, however.

It would be much better for you to upgrade to Xcode 8.2 in your CI system. If that's not possible, you should file radars for whatever is preventing you from doing so.

Jeremy Huddleston Sequoia
  • 22,938
  • 5
  • 78
  • 86
  • Thank you! Could you please elaborate this a bit? I already tried to symlink the iPhoneSimulator 10 sdk (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs) and the core simulator runtime (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/Runtimes) into xcode7. This way I could create a iOS10 simulator but it won't boot. – cakl Nov 30 '16 at 21:19
  • You should not be linking anything into the Xcode.app bundle. You need to create your own simruntime bundle at /Library/Developer/CoreSimulator/Profiles. Eg `sudo cp -a /Applications/Xcode.app/Contents/Developer/Platforms/iPhone‌​Simulator.platform/D‌​eveloper/Library/Cor‌​eSimulator/Profiles/‌​Runtimes/iOS\ 10.1.simruntime /Library/Developer/CoreSimulator/Profiles && sudo cp -a /Applications/Xcode.app/Contents/Developer/Platforms/iPhone‌​Simulator.platform/D‌​eveloper/SDKs/iPhoneSimulator.sdk /Library/Developer/CoreSimulator/Profiles/iOS\ 10.1.simruntime/Contents/Resources/RuntimeRoot` – Jeremy Huddleston Sequoia Dec 02 '16 at 00:27
  • Be wary because you'll want to delete that path once we release the iOS 10.1.simruntime as DLC. – Jeremy Huddleston Sequoia Dec 02 '16 at 00:28
  • If you want iOS 10.0.simruntime, you can just install it directly from Xcode 8.1 or Xcode 8.2. – Jeremy Huddleston Sequoia Dec 02 '16 at 00:28
  • /Library/Developer/CoreSimulator/Profiles does not exists. Why should I copy it there? – cakl Dec 08 '16 at 21:44
  • Becasue that's a path outside of Xcode.app that CoreSimulator looks for simruntime bundles. That's where Xcode installs the DLC runtimes. – Jeremy Huddleston Sequoia Dec 09 '16 at 01:27
  • @JeremyHuddlestonSequoia I've tried to copy simruntime from Xcode 8.2.1 to /Library/Developer/CoreSimulator/Profiles and Xcode started to allow to add iOS 10.x simulators. But after I added them I've received an error during compilation: Assets.xcassets: Failed to find a suitable device for the type SimDeviceType. Then I've tried to delete, clean derived data and restart my computer. After it I've added iOS 10.x simulator and tried to run project from Xcode. I see the window of simulator, it's black for a while but then I get a message "Unable to boot the Simulator.". What am I doing wrong? – curious Mar 30 '17 at 18:06
  • I suspect you did not add a RuntimeRoot for it. You'll want to copy the simulator SDK from Xcode 8.0 as the RuntimeRoot for the iOS 10.0 Simulator Runtime... – Jeremy Huddleston Sequoia Mar 31 '17 at 03:15
  • But really... Why not just download the 10.1 runtime from Xcode's Preferences? – Jeremy Huddleston Sequoia Mar 31 '17 at 03:16