Diego Freniche
Diego Freniche

Reputation: 5414

iPhone running iOS 8.3 shows up as ineligible in Xcode 6.2

Current setup:

When I connect the iPhone, it shows up as ineligible.

Also, it shows this warning:

enter image description here

I've tried:

Many other answers in this question, but all for problems using Xcode 6.3, not 6.2.

I know I can solve this:

But is there any possibility that mounting the Xcode 6.3 DMG and copying some libs / symlinking something it will work?

Upvotes: 33

Views: 14289

Answers (5)

Codingpan
Codingpan

Reputation: 318

I have the same issue and I don't want to just use the lastest version of XCode for the need of maintaining my old projects. I end up with installing two versions XCode(6.2 and 6.3) to solve this problem. Here is what I did.

  1. Download XCode6.2 install package from apple site
  2. Upgrade the existed XCode6.2 to x6.3
  3. Open my project on XCode6.3 (this time the device can be recognized by XCode, and I think XCode6.3 might have done some updates to your project.)
  4. Close my project, re-install XCode6.2, there will be a prompt saying I have a newer version and if I want to keep both. Click Yes. Then I have two versions of XCode.

After all those steps done, I can finally open my project and use my device in XCode6.2. Hopefully it can help someone.

Upvotes: 0

David
David

Reputation: 1050

Had the same problem with connecting iOS8.3 devices to Xcode 6.2 on Mavericks. Ok on a machine at work running Xcode 6.4 on Yosemite. Software update on the Mavericks machine doesn't offer any higher version. Looking at the specs of Xcode 6.4 (and presumably 6.3 of the original question) says it requires OS X 10.10 (i.e. Yosemite). So, whether or not you can hack around it, the behaviour you/we are seeing on Mavericks is what Apple intends.

Upvotes: 0

Just copy the folder DeviceSupport/8.3 from Xcode 6.3 to Xcode 6.2.

Details:

  • Download Xcode 6.2 and 6.3, install as /Applications/Xcode_6.2.app and /Applications/Xcode_6.3.app (or similar names)
  • In both installations, there's a folder Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
  • In Xcode 6.2, this folder contains packages for iOS 8.2 and many lower versions, but not for 8.3.
  • In Xcode 6.3, this folder also contains a package for iOS 8.3. In my case, the folder is called 8.3 (12F69)
  • Copy the iOS 8.3 package from Xcode 6.3 to Xcode 6.2 (this command is one line, of course):

cp -r '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • Or even better, create a link:

ln -s '/Applications/Xcode_6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/8.3 (12F69)' '/Applications/Xcode_6.2.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport'

  • Now restart Xcode 6.2 and connect your device through USB. Xcode should allow you to test apps on it.

Diego Freniche's solution (copying the whole iPhoneOS.platform folder) was a great help, but when I ran my app from Xcode 6.2, it looked slightly different than it did when I deployed an ipa file on the phone (buttons in wrong positions, status bar display wrong). I guess Xcode got confused and built the app as if it was targeted at a different iOS version.

With this solution (only copy one folder in DeviceSupport), it looks like the app works exactly as it is supposed to. I'll let you know if I encounter problems, but I haven't seen any so far.

Upvotes: 11

Diego Freniche
Diego Freniche

Reputation: 5414

A little progress, but this is a WIP.

Looks like in Yosemite Xcode 6.2 works correctly with 8.3 devices. Need to test on Mavericks

Testing with Xcode 6.2 in Yosemite (need to test also in Mavericks, any feedback would be appreciated)

  • Go to your Xcode 6.2 folder and rename

/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform

into

/Applications/Xcode-6.2 copia.app/Contents/Developer/Platforms/iPhoneOS.platform.old

  • Mount your Xcode 6.3 DMG, install it
  • Copy from Xcode 6.3 this folder:

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

inside your Xcode 6.2 folder.

  • you'll probably find an error telling you rootuser does not own the simulator / OS Platform folder. To solve that just open Terminal, then:

    $ cd /Applications/Xcode6.2.app/Contents/Developer/Platforms

    $ sudo chown -R root iPhoneSimulator.platform/

    $ sudo chown -R root iPhoneOS.platform/

  • now you can run your app inside your iOS 8.3 device from Xcode 6.2 but you have no simulators in the target tdestination menu

UPDATE: I'm getting weird errors while ibtool tries to compile the storyboards:

/Users/dfreniche/Desktop/Test/Test/Base.lproj/Main.storyboard: The operation couldn’t be completed. (com.apple.InterfaceBuilder error 2001.)

So finally give up and update to Yosemite. If there's any new info on this, please share.

Upvotes: 10

Abel Pandian
Abel Pandian

Reputation: 93

XCODE 6.3 is out.. It solved my problem.. If you have Yosemite, you can download the 6.4 beta version

Upvotes: -3

Related Questions