我在尝试测试应用时遇到此错误。
仅限构建设备无法用于运行此目标。
没有受支持的iOS设备可用。连接设备以运行应用程序或选择模拟设备作为目标。
答案 0 :(得分:70)
将-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
添加到您的xcodebuild
答案 1 :(得分:32)
答案 2 :(得分:12)
答案 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。从这里,您将看不到 您计算机上当前拥有的版本。
步骤2:在本地检查可用版本
- 点击通用IOS设备
- 这将显示一个下拉菜单,其中包含下载模拟器... 选择
- 如果下载模拟器... 选择不可见,则需要降低目标。就我而言,从13.2开始,我将其设置为13.0(这取决于您当前的XCode),然后再次重复步骤2
- 从这里,我现在可以看到下载模拟器... 选择
- 选择它
- 您现在将看到可用的版本
- 您可以从此处选择下载或仅使用您拥有的版本(所选版本)
第3步:相应地更改IOS目标
- 现在您已经知道本地有哪些可用的模拟器版本,现在可以更改IOS目标了。
- 就我而言,我选择使用IOS 11(仅用于本示例)
- 然后我更改目标
- 再次单击通用IOS设备
- 现在,您可以从此处选择该IOS下的任何模拟器
我不是专家,我只是想分享我的经验,希望这可以对某人有所帮助。
答案 11 :(得分:0)
对于xcode v11:
尝试创建我的项目的存档时遇到了这个问题。当设备设置为“通用iOS设备”时,我试图单击“构建”,但是正确的步骤是:
答案 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)
答案 19 :(得分:-1)
我有一个完全不同的问题。出于某种原因,我的应用“设备”设置为通用版本,而不是 iPhone 。当我把它切换到iPhone时,一切正常。不需要任何额外的设置。
答案 20 :(得分:-2)
这对我有用。
当您已经为不同的方案构建设备时,您正尝试在设备上运行。 转到
产品&gt;干净。
然后使用从活动方案中选择的设备进行构建。