尝试测试应用程序时出现此错误。
只能构建的设备不能用于运行此目标。
没有支持的iOS设备。连接设备以运行您的应用程序,或选择模拟设备作为目标。
Answers:
添加-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设备。连接设备以运行您的应用程序或选择模拟设备作为目标”
我针对该问题的解决方案是选择Build Settings ---> Deployment -----> IOS Deployment Target ---->选择一个较低的版本,例如8.0,
我发现模拟器出来了,可以选择了。
您需要获取有效目的地的列表。为此,请指定错误的键值对,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
,请在“问题”导航器中看到以下文本:
ProjectName
目标完整性:
iOS部署目标'
XX.X'比
目标ProjectName中的SDK'iOS YY.Y'更新
那么问题是该项目需要的iOS SDK比您的Xcode版本可用的iOS SDK更新。例如,您会在利用新版/测试版iOS SDK功能(例如ARKit)的项目中找到此问题。
解决方案是下载Xcode的最新测试版,该版本应支持该应用程序要求的非公开发布的iOS SDK。如果您拥有最新的Xcode,请尝试在中找到目标iOS Preferences -> Components -> Simulators
。
我遇到了同样的错误消息。到目前为止,这是我经历过的事情;
步骤1:检查目标。
我当前的目标是IOS 13.2。从这里,您将看不到计算机上当前具有的版本。
第2步:检查本地的可用版本
- 单击通用IOS设备
- 这将显示一个包含“下载模拟器...”选择的下拉菜单。
- 如果看不到“下载模拟器...”选择,则需要降低目标。在我的情况下,从13.2我做到了13.0(这取决于你目前的XCode),然后重复步骤2再次
- 从这里,我现在可以看到“下载模拟器...”选择
- 选择它
- 现在,您将看到可用的版本是什么
- 从这里,您可以选择下载或仅使用您拥有的版本(所选的版本)
步骤3:相应地更改IOS目标
- 既然您已经知道本地有哪些可用的模拟器版本,现在可以更改IOS目标了。
- 就我而言,我选择使用IOS 11(仅针对此示例)
- 然后我改变目标
- 再次单击通用IOS设备
- 现在,您可以从此处在该IOS下选择任何模拟器
我不是专家,我只是想分享我的经验,希望这可以对某人有所帮助。