iOS simulator version doesn't appear - Xcode 12.2 - ios

I want to test my app in iOS 10, I'm just have tried the flow of add a new iOS simulator like I've made in the past, but the iOS version that I downloaded dons't appear in the list.
I'm using the Xcode 12.2
When I try to add a new simulator the iOS 10 doesn't appear in list:
The iOS target is set to 10
Deployment target:
Edit 1 - I have run this code "xcrun simctl list" in terminal, and that message appear (unavailable, The iOS 10.3 simulator runtime is not supported on hosts after macOS 10.15.99.). It's look like sadly the macOS Big Sur 11.0 doesn't support the iOS 10.3.

After a lot of research I've tried to add a simulator via terminal using "xcrun simctl list" to list the simulators available, one of the infos returned is:
iOS 10.3 (10.3.1 - 14E8301) - com.apple.CoreSimulator.SimRuntime.iOS-10-3
(unavailable The iOS 10.3 simulator runtime is not supported on hosts after macOS 10.15.99.)
It's look like sadly the macOS Big Sur 11.0 doesn't support the iOS 10.3.
I think it could be a bug and the Xcode shouldn't allow the download if this iOS version it's not supported, I found in the apple forum that in other macOS versions some thing like this error occurred, see more in the link below.
https://developer.apple.com/forums/thread/74848
Thanks #matt for the support, I really didn't know that I could answer my own question.

I’ve got some more information on this: When I right-click the devices in Window -> Devices, "Show in Run Destinations Menu" is checked on all the Simulators just like it is on my real devices, yet only the real devices show up.
Also, I just tried creating a new iOS project from scratch, but there was no option to run anything at all. I don’t even know how to set this up, though, because I use Unity for creating Xcode projects. But I can confirm that this issue shows up on all the Projects that I am working on. So it doesn’t seem to be project-specific.
Besides, when I updated to 6.2, the simulators still worked in 6.1. Only 6.2 was having this issue. Well, and then 6.3 and now 6.4.
In one of my previous posts I answered the problem has been resolved to some extent.
But ultimately I was informed everything on Xcode's side worked as expected.
The bug was Unity-related. There has never been an option to run a Unity build on both simulators and actual devices.
There was a bug showing the simulators even though they were not available.
Now everything works when building for simulators in Unity.

Related

Xcode - Run Simulator with older iOS Version

Hey I have done a lot of looking around and seen many answers for how to do this in older versions of Xcode, but they don't seem to aplly to Xcode 6. So how can I run an older version of iOS in the simulator with Xcode 6.
Thanks for the help
In the Downloads pane of Xcode's Preferences, download the iOS 7 or 7.1 simulator.
After it is downloaded, go to the Devices window (Window -> Devices) and click the Plus button to make a new simulated device with the system version you want. For example you might decide to make an iPhone 4s that's running iOS 7.
Now you'll be able to choose that device/system as the destination when you build and run.
Please note that matt's solution is not available on new version of OS X (El Capitan). Here are all the available Simulators:

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.

Cannot simulate any iOS scheme other than 7.0.3 in Simulator

I think the problem first occurred after I updated Xcode to version 5.0.2:
Whichever scheme I set in Xcode - whether it's iOS 5.0, 5.1 or 7.0 - when I build and run the project the simulator always launches my app in an iOS 7.0.3 environment (that's what the simulator's windows title states). So there is no way to test my app for downwards compatibility.
What's the problem here?
Is there some other trick that I need to perform in order to simulate my app in an iOS 5.1 environment?
After searching for solutions for hours I finally found the reason why I cannot select other iOS versions in the Simulator:
It's Mavericks!
In this post in the Apple Developer Forums (Developer account needed to access the forum!) an Apple employee states:
The iOS 5 simulators do not work on OS X 10.9 (Mavericks).
and he says the reason for that is:
The iOS simulator does not duplicate some of the low-level parts of iOS. For example, it uses the host OS X's kernel instead of trying to virtualize the iOS kernel. The iOS simulator requires that these subsystems look sufficiently similar between the simulated iOS and the host OS X. When a new host OS X changes too much it can break old simulators. At that point somebody makes an engineering and cost decision to either update the old simulator or drop support for it.
So if you have installed Mavericks (and do not downgrade if that's even possible) you have no option to run the Simulator with iOS versions < 6.
(If you want to test your app in the Simulator with iOS 6 and 6.1 SDK proceed as the other replies and comments on this page suggest: Go to XCode > Preferences > Downloads and download the corresponding simulator version in the section "Components".)
Check if YourTarget->Build Settings->Deployment->iOS Deployment Target is set to iOS7.0. If so, you need to decrease this value.
You must download to Xcode the iOS 5 SDK for the simulator.
Go:
XCode -> Preferences -> Downloads -> Components
And there you have the option of download the previous simulator.
After that, restart Xcode and before running is just select the version of iOS you want the simulator use:

Can't test on my IPad - iOS version reported as too old

My iPad2 device is running iOS 6.1. Since I upgraded XCode from 4.5->4.6 I get an error that my device is not running a new enough version of iOS!
I use no advanced features and in XCode my project iOS Deployment Target is 5.0.
Here are my settings:
Here are my provisioning stuff, it looks fine to me:
I am using Xcode 4.6 and see I have all deployable targets available. See screenshots. Though note the base SDK is set to iOS 6.1.
Apple always suggests building against the latest SDK and then setting the deployment target to whatever you want it to be. Also make sure any IB item has the correct deployment version set as well.
Just a helper for newer developers (like me):
I had problems testing my iPhone app on a new iPad and it was due to not running Organizer to initialising the new device (iPhone or iPad).
(You also have to select that the device is used for debugging)
It will update your new device with the necessary libraries and then deploying is simple.
You can run Organizer from the Xcode->Windows menu.

Xcode: App builds, but "runs" and "finishes" at the same time

I have an app created from sample code I found online. I hooked up my iPod touch 4G to my computer and everything worked fine, app ran.
Then I hooked up my iPhone 3G to the computer, established provisioning profiles, etc. In the organizer the device shows up as a green dot, so we're good. The name of the device is right there next to the run button so that's a good sign. But when I hit run it says "build succeeded" and then goes directly to "finished running on " but nothing shows up on the app!
I've tried this with several apps now and all work on iPod touch, but none on iPhone.
Devices are running newest operating systems, 4.2 for the iPhone, Xcode version is the newest.
I had a different question with more than likely the same answer
App built with Xcode 4.2 ios 5.0 crashing when installed on iphone with ios 4.3.5
I found the solution here
Is it possible to target older iOS versions when using Xcode 4.2 and iOS 5 SDK?
by mmorris
I had to do what he clearly explained and 1 more thing:
Set the compiler in the Project and Target Build Set to LLVM GCC 4.2
That got the app running on my older devices
I had problem to run on simulator not on device.
Tried above options but didn't work for me.
Finally, Just Resetting Simulator did the trick.
Make sure you are targeting the least iOS version and SDK that you can in the build profiles (targets, summary, Devices, Deployment target). Also, check the error console (All Output) at the bottom right and see if there's some kind of problem occurring.

Resources