Error message when compiling in Xcode 4 - ios

As of today I can't compile my iOS Xcode project anymore. Immediately a message box pops up saying:
The run destination iPhone 4.3 Simulator is not valid for Running the scheme 'MyApp'.
The scheme 'MyApp' contains no buildables that can be built for the SDKs supported by the run destination iPhone 4.3 Simulator. Make sure your targets all specify SDKs that are supported by this version of Xcode.
I've already played around with various settings in Xcode but nothing helps.
Does anyone know how to solve this?
Thanks!

Just a wild guess, but did you have a look in your project settings under Base SDK? Does it say e.g. Latest iOS (iOS 4.3) ?

Related

Downloaded ios simulator doesn't appear at xcode

I downloaded ios 10.3.1 version in xcode 9.4
But I only can select the ios 11 version I already have.
I rebooted OS and restarted Xcode already. I also can see ios 10 simulator when I select "add additional simulators"
There are ios10, 11 simulator both of them. I don't know how to use ios 10 simulators in xcode that I already downloaded.
Change Deployment Target from iOS 11.x to iOS 10.x
(Xcode shows simulator in a device list with iOS version >= Deployment Target.)
If I understand your problem correctly, changing Deployment target should help. It can be found in General section of settings shown when you first launch the app.
To use that the project compatibility should be lesser. That means the Deployment target in your app should be from iOS 10.
Go to project target settings. Deployment target --> 10.x
As the previous answers didn't help me, I'll describe my solution.
The deployment target doesn't always solve the problem, as well as creating a new scheme. The simulators don't appear automatically.
Press Add Additional Simulators
Choose Simulators tab
Create a new device simulator. Choose Device Type and OS Version whichever available
Your simulator should appear

How to solve iOS deployment target issue?

I am trying to run an application I am developing on an iPhone that runs iOS 10.2.1. I also tried to run it on a simulator that runs iOS 10.2. My Xcode version is 8.3.3. Even though I changed the deployment target to 8.0, I get the following error when I try to run it on a device under 10.3. Are there other things I should pay attention when changing the deployment target other than changing it from Info tab in Xcode? The error states the deployment target as 10.3 but it is not. How can I get around this issue?
"Run destination is not valid for running the scheme.."
My deployment target
Thank you,
I remember the same issue happening in my code.
In my case, I realized that I had not updated my Base SDK to the latest iOS version in the Build Settings
To do so, click on Project name -> Build Settings -> Base SDK
If Base SDK does not show, ensure that "All" is selected in the filter at the top of the page.
Also, sometimes the project has multiple targets and you might be setting the Base SDK on the wrong target.
You need to update your iphone to the newer version or downgrade your xcode version. Currently they are out of sync thus why you are seeing this error.
See here for compatibility:
https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html

Ineligible Devices section appeared in Xcode 6.x.x

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.

xcode 4.5 wont let me debug on ios 5.1 device

I recently got a new dev machine and downloaded the latest xcode 4.5. It came with IOS 6 only so I went and got sdk 5.0 and 5.1 from older xcodes.
The device im testing on in running ios 5.1 and I'd like to keep it that way for the moment.
In my project settings I have base sdk set to ios 5.1.
The trouble is that when I try to debug on my ios 5.1 device xcode complains that I need to connect an iOS device with a recent enough version of iOS to run my application.
How can I solve this problem?
You can surely run your app on a iOS 5.1 device when using Xcode 4.5 - I am doing that at the very present moment.
Have you checked in Xcode organizer if your device is configured for development? Go to the Organizer (one of the top-left icons), select your device from the lefthand list and click on "use for development" (if available).
Hope this helps.
I have xCode 4.5 like you and I have an iPod Touch 3G 5.1.1 which works perfectly with iOS 6 SDK.
The SDK Number doesn't tell you that it only works for that firmware.
In your Project settings under targets you can define the sdk, not the sdk you build with(this is 6.0) but youcan tell what the minOS is
Try restarting with your 5.1 device plugged in.
My iPod 5.1.1 is provisioned and has been used for development. If I choose the scheme "iOS Device" Xcode 4.5.2 refuses to run, telling me "Xcode cannot run using selected device". However it does work when I set the scheme to "robert's iPod" (or whatever). This choice doesn't show up right away when I plug the device in, and sometimes I seem to need to quit and restart Xcode and/or iTunes (or reboot) in order to see it.

Building for prior iOS versions [duplicate]

XCode 4.2 Build 4D199 on Lion with iPhone 3G IOS 4.2.1
Project with Base SDK 5.0 and Target 4.2.
On this phone and on older iTouch the debugger never seems to startup. After pushing RUN the project compiles and then the Debug entry is in the Log Navigator with the Spinner Running. The spinner never stops and the app does not get loaded on the iPhone 3G.
Any clues on how to fix. This was working fine before the Lion Upgrade.
Need to test the older devices. Newer devices seem to work fine.
Device seems to be provisioned fine, etc.
Probably because armv6 is missing from the architectures for the Target.
Click on your Project in Xcode, then click on the Target. Double-click on 'Architectures', and delete what's current there - probably something like $(ARCHS_STANDARD_32_BIT) - using the '-' button. Next, click on the '+' button and add 'armv7', then add 'armv6'.
Hopefully, that should help.
I found when I would start a new project in xCode 4.2 (Build 4D199) it would not build to my iPod touch running 4.2.1. While I did have to set my architectures to include armv6, that alone did not do it.
In my project's Info.plist file xCode had set "Required device capabilities" to include 'armv7'. I removed that now everything is working fine.
I hope this helps someone else.

Resources