102
votes

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.

25

25 Answers

277
votes

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.

26
votes

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. enter image description here . Hope it helps. Then I just changed the target to iPhone and it worked.

18
votes

The run destination iPhone is not valid for Running the scheme.

  • Quit Xcode
  • Open Xcode
  • Clean project
  • Run project

It will work

17
votes

This is some sort of memory issue sometimes.Close some application and try again.

Close Xcode too and reopen. Worked for me.

Cheers.

6
votes

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).

enter image description here

5
votes

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.

enter image description here

4
votes

A simple solution.

1) Force quit X-Code

2) Force quit itunes

3) Reconnect iPhone

4) Open X-Code

3
votes

Go to project info set development Target as 4.3 or 5.1.1 and same in target also.

3
votes

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:

  1. Edit the scheme.
  2. 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.

3
votes

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.

2
votes

I faced this issue in XCode 9, but later realised that for some reasons I had unchecked run destination in "Devices & Simulators" window

enter image description here

1
votes

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.

1
votes

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

0
votes

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

  1. 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/
  2. Disconnected device from Xcode and closed Xcode.
  3. Removed the folder in above path (everything under 8.3(12F70).
  4. Start Xcode and connected the device.
  5. Xcode should start Copying symbols once done the size of the folder should be around 2.5GB
0
votes

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.

0
votes

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.

0
votes

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.

0
votes

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.

  1. Choose Build Settings
  2. Search for Base SDK
  3. 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

0
votes

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.

enter image description here

0
votes

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.

enter image description here

0
votes

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.

0
votes

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.

0
votes

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

enter image description here

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.

0
votes

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.

0
votes

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"

enter image description here