2
votes

Xcode 6.4 doesn't allow to debug on iOS 9 devices so i installed xcode 7 but it doesn't have iOS sdk 8.4 installed. Since I have a xcode 6.4 installation, i copied the

iPhoneOS8.4.sdk to the /Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs folder

and copied the

iPhoneSimulator8.4.sdk to /Applications/Xcode 3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs.

However the iOS 8.4 sdk does not appear in the base sdk options list.

3
isnt it easier to just build it in Xcode 6.4 then?Fonix
No i want to build using ios sdk 8.4 and debug on a ios 9 device. I cannot do it with Xcode 6.4 as Xcode cannot debug on ios 9 devicesPraveen
Why is the app called Xcode 3.app?trojanfoe
i have Xcode 2 other Xcode's installedPraveen
I had the same problem. It's weird but there is an alias file in the .../SDKs directory, in my case, called iPhoneOS9.1.sdk. I deleted it, and the problem solved.Ge Liu

3 Answers

2
votes

In addition to copying the iPhoneOS8.4.sdk folder you need to edit

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist

and set MinimumSDKVersion to 8.4 and restart Xcode. Then Xcode will find and list the older SDK.

1
votes

There is one work around for this situation. I used to do this in my routine work as below:

  • Open your project in Xcode 6.4 (You can see iOS 9 device debugging is disabled)
  • Now just open Xcode 7 (without any project opened from it) such that it looks active in "Dock Tray".

By doing above two steps, Xcode 6.4 will now enable to debug with iOS 9 devices.

Hope this helps.

0
votes

You were copying an iPhoneOS8.4.sdk which is a relative symlink to iPhoneOS.sdk in that same folder in xcode6. So you ended up with two symlinks (..8.4, ..9.1) pointing to xcode7’s iPhoneOS.sdk (which is iOS 9.1)

Remove any changes you made.

You got two options. The first is the preferred one, as xcode7 updates will delete your 8.4 SDK in the future.

  1. create a symlink called iPhoneOS8.4.sdk in the xcode7-folder. Let it point to your xcode6 iPhoneOS.sdk (which is iOS 8.4)

    Use this command from your xcode7 sdk directory

        ln -s <your xcode6 path>/iPhoneOS.sdk iPhoneOS8.4sdk
    
  2. copy the xcode6 iPhoneOS.sdk folder to the xcode7 location. Do not overwrite iPhoneOS.sdk (which is xcode7's iOS 9). Rename it to iPhone8.4sdk instead