I'm using Xcode 13.4.1 (13F100) on macOS Monterey 12.5 (21G72).
One of my real test devices (iPhone) has installed iOS 16.0 (20A5328h).
I'd like to run an app from Xcode on this iPhone. Since the iPhone uses a beta version I'm not able to use this device since it's an Unavailable Device with unsupported OS version as you can see here:
This isn't the first time I have to deal with a problem like this. Till now, I always downloaded the beta Xcode version, extracted the folder from DeviceSupport and added it to my actual Xcode version. Then it worked.
I did the same this time. I downloaded the newest Xcode beta version, which also supports iOS 16. I added the folder 16.0 to /Volumes/Macintosh/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/.
The Unavailable Device message disappeared and I was able to build the app on the iPhone. I even got the Build Succeeded sign:
But then, a few seconds later, I get:
Failed to prepare device for development.
This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You may also need to restart your mac and device in order to correctly detect compatibility.
I already restarted both, iPhone and Mac but without success.
Why doesn't it work this time? Is there any workaround?
I had the same problem. When you enable Developer Mode on the test device (Settings --> Privacy & Security --> Developer Mode), it works.
#David did you try my solution?
I didn't find a workaround, so I simply downloaded the Xcode beta version, opened it, build the app to the iPhone and then deleted the beta version, since I only needed it for this one build.
When I run my app in my real device (iPhone 11 Pro, OS: IOS: 15.4) in Xcode (version: 13.3), the build is succeeded, but the app does not launch in my phone and I receive this message in Xcode:
How can I resolve this ?
Well, here is a short story that I've experienced during my casual work day.
I tried to pair new phone to XCode and it prompted exactly same error as yours.
At the end of the day it turned out that phone had an Apple Watch that is paired.
We simply disabled/unpaired the phone from Apple Watch and it worked out.
Maybe you can give it a try.
Edit: Finding the XCode version that supports iOS 15.4 may also work.
In my case the problem was that I was targeting an older version of iOS than the one present in my device. Also, XCode was not updated and didn't support my phone's version. After updating XCode, I could change the iOS target to the latest and all worked out.
After installing Xcode 6 my devices moved to greyed-out section Ineligible Devices and I can't select them as deploy target:
Update:
This error occurs in all versions of Xcode 6.x.x.
There are so many different reasons causing this problem
Check this solution list for more details.
With the release of Xcode 6.3.1, check first the Update 5
Verify that "iOS Deployment Target" is <= the version of your iDevice.
You find this option in "Build Settings" tab when you click on a target of your project in Xcode.
Then if does not work, try to restart Xcode. Sometimes we have to restart the Mac and iPhone/iPad. Take a look at the Updates below before restarting Xcode
Update: in Yosemite, Xcode 6.0.1 does not support iOS 8.1, you have to update to Xcode 6.1 if you want to debug on iOS 8.1 device, or you will probably have the same problem as described in the topic
Update 2: Xcode Beta 6.3 does not support iOS 8.2 (and also 8.1 - thanks #steveb). You won't see your device in deploy target list. I don't know if other versions are supported.
Update 3. Use Xcode 6.2 instead of Xcode 6.3 beta in order to debug with a device running iOS 8.2
Updated 4 : for Xcode 6.3 (and eventually 6.3 beta if someone use it :) ), if you have this problem, just go to Product > Destination to select your device. Even though it says your device is ineligible, it will still allow you to select it. If your device version is >= target version, the build should work. It must be a bug for Xcode 6.3 in debug with iOS 8.3 (or maybe other iOS version) (thanks #einfach).
Update 5: Apple released Xcode 6.3.1 that fix the issue of ineligible device. If you have this problem with Xcode 6.3, upgrade to XCode 6.3.1
From Release Notes (Xcode 6.3.1):
Fixed: Devices previously listed as "ineligible for running”
erroneously are listed correctly. (20121178)
There is a lot of options (10 23 29 answers for this question!), that can cause this error. And no one is 100% solve this issue. Here is summarise of all solutions.
First of all:
0. Update to latest Xcode version
Most of the reasons, that cause this problem fixed in Xcode version 6.3.1 (6D1002 published April 21, 2015)
List of solutions in order frequency of occurrence:
The most likely solution::
In Xcode status go to: Menu bar-> Product -> Destination and find your device. It will be listed under Ineligible section
Select your device. After you will be able to build and deploy to device! (thanks, #joshstaiger)
If it doesn't work:
iOS Deployment Target should be <= of the version of your device.
You find this option in Build Settings tab when you click on a target of your project in Xcode.
If version is correct - try to restart Mac and iPhone/iPad simultaneously. It resolve this issue in most cases! (thanks, #HoaParis)
Finally if either doesn't work - try to do this magic actions:
switch iOS Deployment Target to 8.1
restart Xcode
switch back to desired version.
Other problems, that cause this issue:
Xcode Beta 6.3 does not support iOS 8.2 (and also 8.1). You won't see your iDevice in deploy target list.
Use Xcode 6.2 instead of Xcode 6.3 beta in order to debug with an iDevice iOS 8.2
Xcode 6.3 requires Unity 4.6.4
If you're using an older Unity version (e.g. 4.6.3) you'll always get your devices in the Ineligible Devices section (thanks, #d4rk)
Also it appears in case of changing name of Xcode project. The fix it - create a new scheme by selecting Manage Schemes > (+) button. (thanks, #dale-moore)
Beta to Release upgrade of Xcode can require upgrading iOS or watchOS from beta to release version. For example, when switching from Xcode 8 beta 6 to Xcode 8 release, watchOS 3 beta is listed as unsupported.
Everyone should note that there seems to be a bug in XCode 6.3 (Beta and GM) that is aggravating this problem.
I have iOS 8.3 installed on my device. Setting the build target to iOS <= 8.3 did not help. Nor did any of the other solutions posted.
What worked for me:
Go to the Product Menu > Destination and select your device. It will be listed under "Ineligible", but you will still be able to select it. After doing this, I was able to build and deploy to my device.
I had a similar issue and for me I had upgraded to iOS8 and also changed the name of my Xcode project. The fix for me was to create a new scheme by selecting Manage Schemes > (+) button.
After doing this, my list of devices returned.
What worked for me is to install XCode 6.1 (compatible with iOS 8.1)
Besides setting iOS Deployment Target to iOS 8.0, also restart your iOS8 iPhone/iPad. This did the trick for me.
You can try below solutions to run build in your device.
Restart your iOS device (If device is recently updated) and your Xcode.
Make Sure that in build settings "iOS Deployment Target" is <= the version of your iDevice.
Otherwise you can goto - Product > Destination, select your device which would be showing as ineligible device.You will be able to select your device and run your build.
I also came across that if you have the iOS 8.4 then your Xcode doesn't have the SDK for iOS 8.4 due to which devices show as ineligible. To solve this issue
Download Xcode 6.4
My iPhone has updated to iOS8.1. My Xcode version is 6.0.1, and my mac os version is 10.10. When I want to run app in my iPhone, there is a section named Ineligible Devices(OS Version). Then I update Xcode to 6.1 version, solved problem.
Part of Xcode 6.1 release note: Includes SDKS for OS X 10.10 Yosemite, OS X 10.9 Mavericks, and iOS 8.1.
That is, Xcode 6.0.x don't support iOS 8.1.
My solution was that I had recently upgraded my iOS device to 8.3 and Xcode still didn't recognize it. The fix was to simply upgrade Xcode to 6.3 :)
After trying the 2 answers above (changing deployment target and restarting my iOS device), what finally fixed it for me was restarting my Mac.
For iOS 9.1+ devices, the Xcode version should be upgraded to 7.1 (even 7.0x will not work)
I simply restarted my Mac and my iPhone 6 and the problem was solved. I never had to change my deployment target.
Changing your deployment target is not a good idea to solve this problem (it will change which iOS versions you support on the app store).
What I did is restart just Xcode and it was fixed.
I agree with txulu, changing the deployment target is a ridiculous idea. I need to support devices back at least one version, that is non-negotiable to me.
Restarting my iPhone 5 after updating to iOS 8.1 and Xcode to 6.1 worked for me.
Simply deploying to another device and then switching back to the former 'ineligible' device worked here.
(saved the hassle of restarting anything)
In my case I had to reattach device and when it asks press "Trust this computer", then my device appears available again in xCode
make sure the deployment target version in setting is lower or equal than the iphone version
if the deployment target is 7.1 but the iphone is 7.0.3
you will see that error message
Ran into the same issue, using Unity3D
=> Xcode 6.3 requires Unity 4.6.4
If you're using an older Unity version (e.g. 4.6.3) you'll always get your devices in the Ineligible Devices section
Upgrade XCode to ensure that it supports your current iOS version on device.
(In my case, my phone was on iOS 9.1.x) `but XCode version was 7, which supported iOS 9.0 devices)
I changed my deployment target to 7.1 the same as my iphone, and now I can run swift programs on it. It was on 8.0 and showed up as ineligible.
I set my "iOS Deployment Target" in "Project" and "Targets" from 7.1 to 8.0 and restarted Xcode (with "Quit") and it worked.
I can confirm that the answer it to upgrade Xcode to 6.1. If you are using Xcode 6.0.x you will not be able to select a device running 8.1. Your deployment targets and OS version should have nothing to do with this.
If your OS version is greater than 10.9.4 I would recommend this. First, un-attaching all devices. Download Xcode 6.1. After opening the new version of Xcode attach your device. You should be good to go.
Another good thing would be to look at the release notes. It's and easy read and gives you a general idea of what still needs to be fixed.
My iPad was 8.0, but i had deployment target set to 8.1. I changed the deployment target in build settings, and immediately, the ipad moved out of the "ineligible" category. (I am on Yosemite and XCode 6.1)
I'm using the 6.3 Xcode Beta. I had the same issue as above. I restarted my computer and phone but did not work. Simply went to the build target under build settings and changed build target to 8.1. I hope this is fixed in the next released. Make sure that after you change your build setting - you need to restart your device and Xcode!
Please check you device iOS version and your Xcode application build target version. This might be causing the issue.
My answer, perhaps listed already but i did not notice, was simple: I deleted the app in question from the target itself, then fired up Xcode and the target was then available. And yes, i tried most of the other suggestions, and was resorting to activating the target from the Product menu, but that was getting tedious.
If you have a chance to run any project on the 'ineligible' device from other Mac with Xcode, try it and then reconnect the device to your Mac (without restarting Xcode/Mac).
For me, after doing that, the 'ineligible device' section disappears and my device returns to the normal status.
Hope it helps for someone.
Fixed in Xcode version 6.3.1 (6D1002) published April 21, 2015.
At least the problem magically went away for me after installing this Xcode version.
Tried all possible Updates, with Xcode 6.3, iOS 8.3 and OSX 10.10.3, but didn't got a permanent solution.
Kudos to skywinder,the first option worked!
For most people the cause of the problem is probably mismatch between Xcode, device version and app target version.
If versions are not a problem for you, most likely is that the device (iPhone/iPad) has been used with another Mac to copy apps to. This happens particularly more with a team environment where an iDevice can be used between team members. Xcode knows some other developer's Mac has connected to this device, it will show up as "Ineligible". But the previous Mac that connected to it, it will show up as normal.
The quickest work around is as shown by joshstaiger among others:
Go to Xcode ->Product->Destination
Select the ineligible device as target. It should work.
I changed a while ago from Xcode 3 to Xcode 4.2 for Snow Leopard. Everything was fine, I developed apps for iPhone and all was going smoothly until today...
I got alert:
The version of iOS on “iPhone Prophone” does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here.
Which is strange, because yesterday I was able with simple "run" test my app aimed for iOS 5.0 (Xcode target 5.0, 4C199) with my iPhone 4S, which has iOS 5.1.1 (9B206) for quite some time. In Organizer->Devices my iPhone has a yellow dot suggesting that something is wrong. I don't think I did something unexpected, just came, turned mac on and fired up Xcode... any solution?
I've read that, but as I said - I was using new Xcode for few weeks and suddenly this "non-detection" happened...
I'm stuck, thanks for help.
EDIT:
I found something relevant in this topic on SO, but I'll wait a bit - maybe there is something simpler or more obvious that I missed.
I managed to solve the problem, by:
1) downloading xcode 4.3.1
2) copying from package content SDK & Device Support for iOS 5.1 into Xcode directories
3) run and test on your device
solution found here: iOS 5.1 with Xcode 4.2 and retina in iPad 3
After today's announcement that iOS 6 Beta is available to developers today, I am wondering if I jump on the iOS 6 ASAP will I still be able to build my apps in progress on my device(iPhone) from Xcode 4.3.2? or will there be a required update for Xcode as well?
Update: Currently I have iOS 6 on my iPhone and Xcode 4.5 installed. After that the organizer in Xcode (4.3.2 and 4.5) said 'could not support development' in the Provisioning. Then fixed that, and now I have 4.3.2 saying that it is running my app on my iPhone, but its not showing up on my phone. And 4.5 gets to the 'TakingInstallLock' point in the process, and just keeps trying, but getting nowhere. Anyone else having this issue? Anyone know of a solution?
You can push apps to your phone from Xcode 4.3.x if your phone is running the iOS 6 Beta.
You cannot, however, utilize any of the iOS 6+ frameworks such as the new Social framework from within Xcode 4.3.x
I can't comment yet so this is to confirm that installing Xcode 4.5 DP acutally installs the iOS 6 SDK for Xcode 4.3.2 as well. This is rather obvious as SDK files are installed in a general place (namely the Library folder) of OSX.
The steps to use your updated iOS 6 device for development with Xcode 4.3.2 thus are:
Download Xcode 4.5 DP from the dev area of apple.com.
Install Xcode 4.5
Start up Xcode 4.3.2
Open up the devices section, choose your device for development, wait for the process of fetching information to finish and you are good to go.
Regards!
Any apps that you write using beta software will be rejected. To translate, if you use iOS 6 SDK beta or the new Xcode beta that gets released today, your app will be rejected even if you make a build for just iOS 5.
I installed iOS6 and Xcode 4.3.2 didn't recognize my device. After installing Xcode 4.5 beta and letting it install a few things, 4.3.2 now recognizes my device and I can carry on building and testing on my iOS6 device.
I would say no!
I updated last night and now I can't run my app on my phone.