【发布时间】:2016-02-18 06:52:11
【问题描述】:
我在尝试测试应用时收到此错误。
只能使用构建设备来运行此目标。
没有支持的 iOS 设备可用。连接设备以运行您的应用程序或选择模拟设备作为目标。
【问题讨论】:
-
如果您使用设备并且拥有苹果开发者账号,请从您的设备中删除该应用,然后运行它。
我在尝试测试应用时收到此错误。
只能使用构建设备来运行此目标。
没有支持的 iOS 设备可用。连接设备以运行您的应用程序或选择模拟设备作为目标。
【问题讨论】:
我遇到了同样的错误信息。以下是我迄今为止所经历和所做的;
第 1 步:检查您的目标。
我目前的目标是 IOS 13.2。从这里,你将看不到什么 您当前在您的机器上拥有的版本。
第 2 步:检查您本地的可用版本
- 点击通用IOS设备
- 这将显示一个下拉菜单,其中包含 下载模拟器... 选择
- 如果 Download Simulators... 选项不可见,您需要降低目标。就我而言,从 13.2 开始,我将其升级为 13.0(这取决于您当前的 XCode),然后再次重复 步骤 2
- 从这里,我现在可以看到 Download Simulators... 选择
- 选择它
- 您现在将看到有哪些可用版本
- 从这里,您可以选择下载或仅使用您拥有的版本(选择的版本)
第 3 步:相应地更改您的 IOS 目标
- 现在您已经知道本地有哪些可用的模拟器版本,现在可以更改 IOS 目标。
- 就我而言,我选择使用 IOS 11(仅用于此示例)
- 那我换个目标
- 再次点击通用IOS设备
- 从这里,您现在可以选择该 IOS 下的任何模拟器
我不是专家,我只是想分享一下我的经验,希望这对某人有所帮助。
【讨论】:
在我的情况下,当我选择了一个通用 iOS 设备并尝试“构建”以将其发布到 AppStore 时,就会发生这种情况。
但我应该选择 Product -> Archive
【讨论】:
如果您使用的是cordova/Ionic 转到产品-> 目的地-> 选择目标并重新运行
【讨论】:
对于 xcode v11:
我在尝试为我的项目创建档案时遇到了这个问题。当设备设置为“通用 iOS 设备”时,我试图单击“构建”,但正确的步骤是:
【讨论】:
我几乎尝试了以上所有方法,包括重新启动 XCode,但没有一个对我有用。我通过简单地重新启动我的 Mac 解决了这个问题。是的,经典解决方案。
附注:我的 XCode 在向我请求我的 Mac 密码后出现了这个问题,可能是在自动升级之后。
【讨论】:
如果你想得到可用的destinations列表,然后调用xcodebuild并传入命令行选项-showdestinations,它会打印出有效的选项供你选择:
xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
【讨论】:
我通过转到项目设置解决了这个问题,在我的“目标”部分下,我必须将测试目标设置为正确的团队。
【讨论】:
我为模拟器解决了这个问题,
首先检查你的模拟器列表
窗口 > 设备和模拟器
选择任何设备并单击检查操作系统版本后
如果你只有 Apple Watch 操作系统,你应该下载新的 IOS 模拟器
然后点击下载更多模拟器运行时..
选择正确的 IOS 模拟器并下载。
【讨论】:
您需要获取有效目的地的列表。为此,请指定一个错误的键值对,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
【讨论】:
对于它的价值,如果您收到错误 A build only device cannot be used to run this target,并在问题导航器中查看此文本:
项目名称
目标完整性:
iOS 部署目标“XX.X”是
比 SDK 中的“iOS YY.Y”更新
目标项目名称
那么问题是该项目需要一个比您可用的 Xcode 版本更新的 iOS SDK。例如,在利用新/测试版 iOS SDK 功能(例如 ARKit)的项目中,您会发现这个问题。
解决办法是下载newest beta version of Xcode,它应该支持应用程序需要的非公开发布的iOS SDK。如果您有最新的 Xcode,请尝试在 Preferences -> Components -> Simulators 中查找目标 iOS。
【讨论】:
我遇到了一个完全不同的问题。出于某种原因,我的应用“Devices”被设置为 Universal 构建,而不是 iPhone。当我将它切换到 iPhone 时,一切正常。不需要任何额外的设置。
【讨论】:
在 XCode 8.3.2 中,我尝试在锁定的设备上运行应用程序后收到此错误消息。我按要求解锁并重新连接,但“A build only device cannot be used to run this target”。消息出现了。
我只是将目标更改为模拟器并将其改回 - 它解决了我的问题。
【讨论】:
修改@Quver 的答案。对于最新的 Xcode 版本(8.3),目标命令的参数应该用双引号给出。单引号对我不起作用
将-destination "platform=iOS Simulator,name=iPhone 7" 添加到您的xcodebuild
我没有在上面的命令中提到操作系统版本,因为当发布更新版本的 iOS 时,该命令会通过错误提示找不到此设备。所以最好不要给出OS版本
【讨论】:
xcodebuild 在我的情况下不起作用。
这是我解决的问题。
我已删除我的苹果帐户并在 xcode 偏好设置上重新设置(登录), 这已经解决了。
ps。在 iphone 10.1 上,我需要在 General > Device Management > account info > Trust App 上按下 Trust 按钮
【讨论】:
这对我有用。
当您已经为不同的方案构建设备时,您正在尝试在设备上运行。 去
产品 > 清洁。
然后使用从活动方案中选择的设备进行构建。
【讨论】:
【讨论】:
将-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3' 添加到您的xcodebuild
【讨论】:
xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
xcodebuild。您只需要使用参数运行此命令
我遇到了只能选择“通用 iOS 设备”的问题。 当我跑步时,它说 “只能使用构建设备来运行此目标。没有可用的受支持的 iOS 设备。连接设备以运行您的应用程序或选择模拟设备作为目标”
而我的解决方案是选择构建设置--->部署---->IOS部署目标---->选择较低的版本,如8.0,
我发现模拟器出来了,可以选择。
【讨论】:
您正在为 Xcode 的“仅构建设备”构建,它正在编译应用程序。对于 ARM 处理器(而为模拟器编译的目标是 Mac 上的 Intel CPU。)
插入设备并从活动方案弹出窗口中选择它,或者,选择其中一个模拟器,你应该很高兴。
【讨论】: