仅构建设备不能用于运行此目标

时间:2015-11-17 01:50:41

标签: ios xcode

我在尝试测试应用时遇到此错误。

仅限构建设备无法用于运行此目标。

没有受支持的iOS设备可用。连接设备以运行应用程序或选择模拟设备作为目标。

21 个答案:

答案 0 :(得分:70)

-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'添加到您的xcodebuild

答案 1 :(得分:32)

也许该方案已切换到通用设备。尝试从“方案”菜单中再次选择已连接的设备:

Menu image

答案 2 :(得分:12)

以下是我的方式

选择项目 - >一般 - >部署信息 - >部署目标 - >选择较低版本 enter image description here

答案 3 :(得分:6)

我遇到的问题是只能选择“通用iOS设备”。 当我跑步时,它说 “不能使用仅构建设备来运行此目标。不支持iOS设备。连接设备以运行应用程序或选择模拟设备作为目标”

我的问题解决方案是选择Build Settings --->部署-----> IOS部署目标---->选择较低版本,如8.0,

我发现模拟器出来了,可以选择。

答案 4 :(得分:6)

您需要获取有效目的地的列表。要做到这一点,请指定一个错误的键值对,xcodebuild将吐出有效的组合:

列出目的地命令

xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget

输出示例

Available destinations for the "ThatTestTarget" scheme:
    { platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
    { platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
    { platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
    { platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
    { platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
    { platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
    { platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
    { platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }

更改等号的冒号,删除空格,忽略ID

因此,如果您想使用此目的地:

platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)

更改逗号的冒号,删除空格,删除ID,以便获得此字符串:

platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)

然后整个命令将是:

xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget

答案 5 :(得分:4)

您正在构建Xcode的“仅构建设备”,它正在编译应用程序。对于ARM处理器(而针对模拟器进行编译的目标是Mac上的Intel CPU。)

插入设备并从活动方案弹出窗口中选择它,或者,选择其中一个模拟器,你应该很高兴。

答案 6 :(得分:3)

使用XCode 8.3.2我尝试在锁定的设备上运行应用程序后出现此错误消息。我按照要求解锁并重新连接,但不能使用仅限构建的设备来运行此目标。"消息出现了。

我只是将目标更改为模拟器并将其更改回来 - 它解决了我的问题。

答案 7 :(得分:2)

如果您使用的是cordova / Ionic,请转到产品->目的地->选择目标并重新运行

答案 8 :(得分:1)

在我的情况下,当我选择通用iOS设备并尝试“构建”以将其发布到AppStore时,发生了这种情况。
但我应该选择产品->存档

答案 9 :(得分:1)

修改@ Quver的答案。使用最新的Xcode版本(8.3),目标命令的参数应以双引号给出。单引号对我不起作用

-destination "platform=iOS Simulator,name=iPhone 7"添加到您的xcodebuild

我还没有在上面的命令中提到操作系统版本,因为当发布更新版本的iOS时,此命令将通过错误告知找不到此设备。所以最好不要给OS版本

答案 10 :(得分:0)

我遇到了相同的错误消息。这是我到目前为止所经历和做过的事情;

第1步:检查目标。

我当前的目标是IOS 13.2。从这里,您将看不到 您计算机上当前拥有的版本。

enter image description here

步骤2:在本地检查可用版本

  • 点击通用IOS设备

enter image description here

  • 这将显示一个下拉菜单,其中包含下载模拟器... 选择
  • 如果下载模拟器... 选择不可见,则需要降低目标。就我而言,从13.2开始,我将其设置为13.0(这取决于您当前的XCode),然后再次重复步骤2
  • 从这里,我现在可以看到下载模拟器... 选择
  • 选择它

enter image description here

  • 您现在将看到可用的版本
  • 您可以从此处选择下载或仅使用您拥有的版本(所选版本)

enter image description here

第3步:相应地更改IOS目标

  • 现在您已经知道本地有哪些可用的模拟器版本,现在可以更改IOS目标了。
  • 就我而言,我选择使用IOS 11(仅用于本示例)
  • 然后我更改目标

enter image description here

  • 再次单击通用IOS设备

enter image description here

  • 现在,您可以从此处选择该IOS下的任何模拟器

enter image description here

我不是专家,我只是想分享我的经验,希望这可以对某人有所帮助。

答案 11 :(得分:0)

对于xcode v11:

尝试创建我的项目的存档时遇到了这个问题。当设备设置为“通用iOS设备”时,我试图单击“构建”,但是正确的步骤是:

  1. 将设备设置为“通用iOS设备”
  2. 转到产品->存档(跳过按Build!

答案 12 :(得分:0)

我几乎尝试了上述所有操作,包括重新启动XCode,但没有一个对我有用。我只需重新启动Mac 即可解决此问题。是的,经典的解决方案。

一个旁注:在我向我的XCode询问了我的Mac密码之后(可能是在自动升级之后),出现了此问题。

答案 13 :(得分:0)

好吧,如果要获取可用的目的地列表,然后调用xcodebuild并传递命令行选项-showdestinations,它将打印出有效的选项供您选择:< / p>

xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget

答案 14 :(得分:0)

我通过转到项目设置解决了此问题,在“目标”部分下,我必须将“测试”目标设置为正确的团队。

答案 15 :(得分:0)

我为模拟器解决了这个问题,

首先检查您的模拟器列表

  

窗口&gt;设备和模拟器

选择任何设备后,单击“检查操作系统版本”

如果您只有Apple Watch OS,则应下载新的IOS Simulator

然后点击下载更多模拟器运行时..

选择正确的IOS模拟器并下载。

答案 16 :(得分:0)

对于它的价值,如果你收到错误A build only device cannot be used to run this target,并在问题导航器中看到这个文字:

  

项目名
  目标完整性:
  iOS部署目标'XX.X'是
  比SDK中的'iOS YY.Y'更新   目标ProjectName

然后问题是该项目需要的iOS SDK比您的Xcode版本更新。例如,您可以在利用ARKit等新的/ beta iOS SDK功能的项目中找到此问题。

解决方案是下载newest beta version of Xcode,它应该支持应用程序所需的非公开发布的iOS SDK。如果您有最新的Xcode,请尝试在Preferences -> Components -> Simulators中找到目标iOS。

答案 17 :(得分:0)

xcodebuild在我的情况下没有用。

这是我已经解决的问题。

我已删除了我的苹果帐户并重新设置(登录)xcode首选项, 这已经解决了。

PS。在iphone 10.1上,我需要在General&gt;上按下Trust按钮。设备管理&gt;帐户信息&gt;信任应用

答案 18 :(得分:0)

  1. 我申请了一个新的AppleID并将其添加到&#34; Xcode-&gt;偏好设置&gt;帐户&#34;解决这个问题。 (Xcode 7.3)
  2. 与此同时,我删除了&#34; Xcode-&gt;偏好设置&gt;帐户&#34;中的原始AppleID,因为它不再是付费帐户而且无法添加新设备。

答案 19 :(得分:-1)

我有一个完全不同的问题。出于某种原因,我的应用“设备”设置为通用版本,而不是 iPhone 。当我把它切换到iPhone时,一切正常。不需要任何额外的设置。

答案 20 :(得分:-2)

这对我有用。

当您已经为不同的方案构建设备时,您正尝试在设备上运行。 转到

  

产品&gt;干净。

然后使用从活动方案中选择的设备进行构建。