XCode - Runner - cannot select device emulator - ios

I want to start by saying that I'm new to macOS and I'm sorry if this question is wrong formulated.
So, I have a mobile app wrote in Flutter. I open the Runner file from the terminal with: open ios/Runner.xcworkspace and XCode shows up. My problem is that where I should select the device where I want my application to be built, the only option is : Any iOS Device.
So, I thought that I do not have any simulators installed on this machine, but I do. This is what I have installed (Window->Devices and Simulators):
When I try to run my code with "Any iOS Device" selected this problem occurs:
I don't know what to do in order to run my app on one of these devices.

You just need to click on that Any iOS Device area:
And then just choose the device/simulator you want to test on:

In my case, in order to fix this, I had to go to my project setting -> build settings and change Supported Platforms values to iOS (it was macOS selected).

Related

How to choose iPhone simulator model to debug Flutter app on Visual Studio Code?

How to choose iPhone model to debug a Flutter application using VSCode? Currently every time I debug an app, iPhoneX always starts, but I would like to choose another model, for example iPhone 8, how do I do this?
What I did was change the selected iOS device in the simulator, closing the simulator, then restarted my debugging session. The flutter app was then loaded on to the newly selected device.
I am using a Macbook Pro. So if you [right-click or two-button-click] the Simulator app -> select 'Device' -> select the iOS you want -> then select the desired device
The Dart VS Code extention documentation here mentions a few ways to change the device that's used.
Clicking on the currently selected device in the status bar
Executing the Flutter: Select Device command
Pressing your custom key binding for the Flutter: Select Device command
// 2022
Easy way to do this is start the simulator and from MacOS dock, right click on the simlator - > Device -> ios -> choose new simlator
Unfortunately it's not currently possible to change which iOS device is launched in the simulator from VS Code (or the flutter emulator command, which uses the same code).
It seems like a neat idea though - I'd encourage raising an issue in the flutter/flutter repo (VS Code delegates listing and launching emulators to the Flutter tool - this allows more code to be shared across editors). Please include some info on your use cases (for example why you usually want iPhone 8 instead of X) to ensure they're considered (for example one way to avoid having a huge list of devices would be to include one iPhone, one iPad, etc. - but this might not cover your requirements).
Also - FWIW, for me the similator always loads the device that was last used.. I selected iPhone 8 and quit, then next time I launched it (from VS Code) it was still iPhone 8. Do you not see this behaviour?
Extension to Danny's Answer:
Just start an iOS Simulator from XCode and then you'll be able to see that specific simulator's name in the list of options (when you'll try to choose the target device).
What worked for me was running flutter doctor in the terminal. it gave me the following output:
[!] Xcode - develop for iOS and macOS
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch
Xcode was installed previously, but after running the two commands, I was finally able to use the iOS Simulator in visual studio code.

How to build reactnative v0.45 project to ios realse

I'm using the latest reactnative verion 0.45 and I didn't get a clue on the official doc about how to build the ios release.
About how to the running on ios device section of the doc quoted here:
Connect your iOS device to your Mac using a USB to Lightning cable.
Navigate to the ios folder in your project, then open the .xcodeproj
file within it using Xcode.
But there is no ios folder found after running command npm ios. And most StackOverflow answers like this one require a command like react-native-bundle which was not found either.
I have already got Xcode and an app develop member account and Really want to build my first reactnative app to my iphone before I could do more stuff on it.
I know this might be a very newbie question. If someone could just give some guide or throw some docs about this?
I stuck on this problem since a few days too, unless you will not get an ios or android folder any more with React Native 0.45.
You can build your standalone app by using Expo: https://docs.expo.io/versions/v17.0.0/guides/building-standalone-apps.html
As I understand, they build your app for you online, so it takes some time and require an free expo-account, but after it finised, you can download your .apk or .ipa to submit it to Play Store or AppStore.
When you want to add more custom (non javascript) code to your project and edit it in Andoid Studio or Xcode, so you have to eject your from Reative Native: https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md
After that, you can test your App by building for your own in the simulator, with no need of the Expo-App.
Open the ios folder of your project using xcode
Connect your phone and select your phone from the device selection dropdown
Select the first tab in the explorer and go to signing area, select your development team
Click play and it will install the app in your phone on development mode
For Production build, you can do the same. However, you would need to change your scheme to production:
Open scheme menu under product. From the dropdown, look all the way down, you'll find the menu Edit Scheme, select this.
Select the Release scheme, hit close and re-run your project in your phone.
Note: if you are building for release, make sure your target device is Generic iOS Device
Hope it helps! :)

Unable to run app in Simulator : Xcode 6.0.1 iOS 8

I updated my Xcode to 6.0.1 from the App Store update notification
in the morning in the os X 10.9.5, and then restarted my mac.
Then i found the Xcode has been updated to the 6.0.1 ,But when i tried
to run my app on it i am getting only iOS device as the device,not
simulators.
in my simulator menu manage devices there is no simulators only my
mac is present ,then i tried to add simulators but it has given me
error of path is not found,i tried every solutions found in the web
search like locations tab command line tools,everything is fine,
But still i am not getting the simulators?Can anybody help me on this?
Might be that resolve by tap Xcode6--> Window--> Device like following image:
When you select Device Option you get following window open:
There is appear all simulator or connected devices. If you found No simulator you can add by click on + Button then you get following window create simulator.
click an option there is simulator list and you get simulator. Hope that solve you issue.
Choose Preview > iOS Simulator Version > iOS 6.0 or 6.1.*
Choose Preview > Preview in iOS Simulator.
If you don't see iOS 6.0 or iOS 6.1, see Downloading and Installing Xcode Components in the iOS Developer Library.
What is the output of 'xcrun simctl list'?
Is there anything interesting in ~/Library/Logs/CoreSimulator/CoreSimulator.log to indicate a problem?
Are you able to add and delete simulator devices from the device manager?
Can you add and delete devices from the command line 'xcrun simctl create ...'?
The one thing I can suggest is checking xcode-select from a Terminal. Type xcode-select -p and look at the output. This should be the Contents/Developer directory within your Xcode application. On my machine - because I don't leave Xcode in the Application folder, it reads /Applications/Developer/Xcode.app/Contents/Developer/. Make sure it's actually pointing at where Xcode is installed. For example you may be putting Xcode in a directory other than the usual /Applications, while xcode-select is looking for the Xcode internals in a different place than where Xcode is. I've been caught out by this before now.
Follow these steps to add a (new) simulator
Click on Simulator icon and open simulator list.
At the end of list, there is an option to add new simulator "Add Additional Simulator". That will open 'Device & Simulator' window.
Switch to 'Simulator' tab.
There are three field in simulator tab.
Click on '+' icon, on left bottom corner of window.
Simulator Name: Enter simulator name here
Device Type: Select iPad from this dropdown list
OS Version: Select OS version from this dropdown list
Click on 'Create'
A new simulator will be added in your Simulator option list.
Look at this snapshot to understand flow of above steps:
And if there is no simulator/OS version in simulator list, you're looking for,
Click on Simulator icon and open simulator list.
At the end of list, there is an option to add new simulator "Download Simulator". That will open 'Component' window (from Xcode >> Preferences).
Select/click simulator from list, which you need to download.
Look at this snapshot:

Xcode - run on ios device doesn't work

I'm creating an app, and I've signed up for everything to have the app run on my iPad and it does most of the time. But every so often when I go to select my iPad in the "run on" drop down box it just says "ios device".
It can't seem to find my device.
This happens from time to time, and next time I try, it might work fine.
Any ideas why it might not always find the device?
Thanks
If you are using xcode 5.1 then it will give you some errors like this.
You just force Quit the xcode from Activity Monitor and then again reopen the project. Now you can not found this issue.
you can get your device by the following steps.
Go to Project Navigator Panel.
Select your Project
navigate to general tab.
Into Deployment info Select Deployment target as per device OS.
Now you find your device in the drop down list.

"The run destination iOS Device is not valid for running the scheme"

I've been running my app on an iPhone 5 /iOS 6, but when I try to run it on an iPhone 4S / iOS6 I get "The run destination iOS Device is not valid for running the scheme NN. The Scheme contains no buildables that can be built for the architectures supported by the run designation device".
I've looked at previous postings on this but they involve issues with the Deployment Target.
In my case I've got the Base SDK set to 6.1 and the Deployment Target set to 5.0.
The iPhone 4 has got iOS version 6.0.1.
It was a bug in XCode, I closed and reopened Xcode and it started working.
I've noticed this sort of thing many many times now with Xcode with other problems, its very frustrating that the tool is so dodgy.
I had the same problem. The issue that i found is that , by mistake I had chosen iPad as deployment target due to which XCode showed that iPhone 5 is an invalid device. .
Hope it helps. Then I just changed the target to iPhone and it worked.
The run destination iPhone is not valid for Running the scheme.
Quit Xcode
Open Xcode
Clean project
Run project
It will work
This is some sort of memory issue sometimes.Close some application and try again.
Close Xcode too and reopen. Worked for me.
Cheers.
Quit and Reset Xcode can reslove most problem. The other cause is Device not support iPhone, you can
Target -> select scheme -> General -> Deployment Info -> Device-> select Universal or the current device you want.
In my case the problem was missing executable value selected into Scheme -> Profile -> Executable (e selected from the dropdown build configuration debug and executable the "application".app).
A simple solution.
1) Force quit X-Code
2) Force quit itunes
3) Reconnect iPhone
4) Open X-Code
Go to project info set development Target as 4.3 or 5.1.1 and same in target also.
I had this problem in XCode 9.0.1.
It seems that XCode does not refresh the list of connected devices.
You may notice that after disconnecting your device, you can still choose it as a target. So XCode may actually be trying to connect to a bogus device.
To fix this:
Edit the scheme.
Re-select the scheme's executable.
this seems to force XCode to update the list of connected devices.
If that did not work, try reconnecting your device (cable) before you do this.
Or perhaps, some other combination of disconnecting device, connecting device, and re-selecting the scheme's executable.
As a desperate measure, you may also try to change the cable that connects your mobile device to your pc.
But ideally... Xcode should be fixed.
Just Go to Devices -> The Intended device you wanted to run (I Was iPhone6 Simulator)-> Select the Device (I was selected iPhone6) -> Right Click-> Make sure the ‘Show the Run Destination Menu’ enabled.
For Me, it was enabled. I did, it worked.
I faced this issue in XCode 9, but later realised that for some reasons I had unchecked run destination in "Devices & Simulators" window
In my case, none of the answers given worked for me.
I was trying to setup TravisCI to my project and this is what i did:
Select Target > Edit Scheme > Build
Check the "run" option in the Tests target and the issue disappeared, i hope this help someone, i spent 2 days trying to fix this.
Other solutions might work for other scenarios but, in case using Xcode 11, I went into "Build Settings" of my test target and changed to universal under "Deployment"->"Targeted Device Family"
Select your project, Under Targets, select your main target, then on the Build Settings Tab, there is one field that says "Valid Architectures". Make sure "armv7" is also there. You probably only have armv7s right now.
I am using XCode 8.2.1 having same problem.
Solution:
->Go to Devices
-> Add additional simulators
->Right Click simulator u are using
->Show in Run Destination Menu <-Enable this Option
For me Xcode failed to copy symbols for connected device due to low disk space. First check if you have symbols connected device under /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/.
Since I had iOS 8.3 (12F70) installed on my device the path for me was /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/Symbols The size of this directory should be around 2.5GB.
When I got this issue the size was 484 KB.
To fix it I
Free up about 3GB of disk space. You can delete folders for any unsupported devices that you might have under /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/
Disconnected device from Xcode and closed Xcode.
Removed the folder in above path (everything under 8.3(12F70).
Start Xcode and connected the device.
Xcode should start Copying symbols once done the size of the folder should be around 2.5GB
This happened to me because I switched branches in source control with unshared schemes.
My xcuserdata folder was git-ignored, and it contained a scheme I forgot to share. This meant I was trying to use a scheme that was from a completely different code branch.
I remade the scheme which fixed the problem, and marked it as shared so that it would be in the xcshareddata folder and checked into source control.
For my case, check the target -> Build Settings -> Search "Mach-O Type" and check the value, it should be Executable/Dynamic Library/Static Library. For other type values, the target could NOT be built and run.
This is similar to Kunal Gupta's comment, but I got this error after running an Xcode project on an actual iPad (the deployment target was changed to iPad and I wanted to run it on my iPhone simulator). Remember to change the deployment info after you use an actual device/simulator, especially when switching from iPad to iPhone.
Swift 3 or 4 Xcode 8 or 9
One thing you can do is click the Project file to open up General Settings, Capabilities etc.
Choose Build Settings
Search for Base SDK
Make sure debug AND release have the same build type.
I had debug set to ios 11.0 and release set to macOS 10.13
They must be the same in order to Archive
In my Case,
I open my iPhone here is the alert appearing in my iPhone for Trust and Don't Trust. I click on Trust. It works fine.
Switching to a different USB port and restarting Xcode solved the problem. Experienced this issue on iMac running Xcode 9.1 whenever I tried connecting any iOS device to one specific USB port. If your USB ports stopped working, check this.
Open the Apple Menu > About this Mac > More Info > System Report > USB and check that the device appears in the USB Device Tree. If it is not here try another USB cable.
I notice this with certain cable+device combinations (probably bad contact), restarting the XCode will only help for one or two runs and then it strikes again. Changing cable / device is the only long term solution worked for me.
In my case, this issue was fixed changing the Architectures (Build Settings --> Architectures) to Standard architectures - $(ARCHS_STANDARD)
Make sure to have arm64 armv7 armv7s on Valid Architectures.
In the case of iOS 13.x - What worked for me is unpairing my watch to my phone and repairing it to my iPhone. I wouldn't just unpair it via Bluetooth- I repeated the whole cycle as if I got a new watch. It took 10 mins to do the whole thing. When I ran my app again, it worked. From there, ensure all your Targets have the same sign in for identity.
Device Support Files is missing for device iOS version. Add it in XCode App Content path.
App Content Path is "contents/Developer/platform/iPhoneOS.platform/DeviceSupport"
Dowloaded support files from here and past them by creating folder of device version number there in app content path.
Go To General => Supported Destinations add IPhone or whatever platform you want run your app.
I encountered this issue while trying to run a watchOS app. After restarting both the Apple Watch and the iPhone, it displayed a different error message that informed me about the Developer Mode setting being turned off:
The run destination iPhone is not valid for Running the scheme 'My Watch App'.
To use Apple Watch for development, enable Developer Mode in Settings → Privacy & Security.
I turned on the Developer Mode setting, restarted Xcode, waited for a bit and it started working again.
Make sure your Xcode is up to date.
This might sound obvious. I tried all the answers presented in this threat and nothing would help. I used Xcode 12.0. After upgrading to 13.1, everything worked as expected.

Resources