Xcodebuild:无法找到与提供的目标说明符匹配的目标

abithluo  于 2023-08-07  发布在  其他
关注(0)|答案(4)|浏览(94)

我想在不同的平台版本上测试相同的单元测试。但是,由于xcodebuild错误,我不能。
我建立了我的项目

xcodebuild build-for-testing \
     -configuration Debug \
     -scheme UnitTest \
     -sdk iphonesimulator \
     -enableCodeCoverage YES \
     -derivedDataPath "derivedData"

字符串
并使用以下命令成功执行测试项目:

xcodebuild test-without-building \
    -configuration Debug \
    -derivedDataPath "derivedData" \
    -resultBundlePath TestResultsA \
    -project UTSSampleSwift.xcodeproj \
    -scheme UnitTest \
    -sdk iphonesimulator \
    -destination 'platform=iOS Simulator,OS=13.5,name=iPhone SE (2nd generation)' \
    -enableCodeCoverage YES


我想在OS=12.2上测试,并且我已经安装了12.2的模拟器,但是,以下命令失败

xcodebuild test-without-building \
    -configuration Debug \
    -derivedDataPath "derivedData" \
    -resultBundlePath TestResultsE \
    -project UTSSampleSwift.xcodeproj \
    -scheme UnitTest \
    -sdk iphonesimulator \
    -destination 'platform=iOS Simulator,OS=12.2,name=iPhone 8' \
    -enableCodeCoverage YES


出现错误消息:

Build settings from command line:
    SDKROOT = iphonesimulator13.5

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
                { platform:iOS Simulator, OS:12.2, name:iPhone 8 }

        Available destinations for the "UnitTest" scheme:
                { platform:macOS, arch:x86_64, variant:Mac Catalyst, id:521A4BA2-C8DB-50F6-9112-FA4FB75F8B5D }
                { platform:iOS Simulator, id:FB9D6640-64BC-48D2-869F-2D8AE3D10984, OS:13.5, name:iPad (7th generation) }
                { platform:iOS Simulator, id:2327E5B6-8073-4DA7-BB2C-4D9F29E8A74F, OS:13.5, name:iPad Air (3rd generation) }
                { platform:iOS Simulator, id:176CD5F5-F59D-401F-8D9C-2567C97BF14F, OS:13.5, name:iPad Pro (9.7-inch) }
                { platform:iOS Simulator, id:50CDB544-EB94-494D-BA02-2A387F49C36A, OS:13.5, name:iPad Pro (11-inch) (2nd generation) }
                { platform:iOS Simulator, id:2D39CA24-88E5-4012-A461-63404BBF8DD5, OS:13.5, name:iPad Pro (12.9-inch) (4th generation) }
                { platform:iOS Simulator, id:CEC5D35B-9038-4557-ABD8-414290716B84, OS:13.5, name:iPhone 8 }
                { platform:iOS Simulator, id:A375FB0B-6F1C-4249-95B8-EC71D9FB6144, OS:13.5, name:iPhone 8 Plus }
                { platform:iOS Simulator, id:81EFCF5E-372A-4CB4-94D5-409D23237392, OS:13.5, name:iPhone 11 }
                { platform:iOS Simulator, id:884192AD-0156-4E86-87F7-BFC24D451D33, OS:13.5, name:iPhone 11 Pro }
                { platform:iOS Simulator, id:A2F32AF0-CE1E-47F3-9D5A-D3E906B7977B, OS:13.5, name:iPhone 11 Pro Max }
                { platform:iOS Simulator, id:0EB5214D-201F-405F-BDAF-E77089398CA9, OS:13.5, name:iPhone SE (2nd generation) }

        Ineligible destinations for the "UnitTest" scheme:
                { platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Generic iOS Device }
                { platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Generic iOS Simulator Device }


我该怎么办?

其他信息

xcodebuild版本

Xcode 11.5
Build version 11E608c


xcodebuild -showsdks

iOS SDKs:
    iOS 13.5                        -sdk iphoneos13.5
iOS Simulator SDKs:
    Simulator - iOS 13.5            -sdk iphonesimulator13.5

pwuypxnk

pwuypxnk1#

我也遇到过类似的问题,问题是我的项目部署目标太高了。再次检查您的部署目标是否为iOS 12.2或更低版本。

ej83mcc0

ej83mcc02#

对于我来说,以下是使用React Native 0.68.1时的工作情况。
ios目录:

$ pod deintegrate
$ pod install

字符串

jmo0nnb3

jmo0nnb33#

在较新版本的Xcode中使用较旧的项目时,可能会发生此错误。奇怪的是,错误显示,虽然目的地显然存在。
实际的步骤,这为我解决了它是启用测试计划(在增加部署目标到最小的支持值的Xcode版本)。
为此,请编辑主方案并选择“测试”部分。可能有一个按钮“转换为使用测试计划......":


的数据
点按该按钮时,将显示一条确认消息:



在我调整了测试计划之后,命令行测试命令成功了。
编辑:
结果是,如果测试计划根本没有测试,就会发生错误。如果测试计划中有测试,但这些测试被禁用,则不会发生错误。

vjhs03f7

vjhs03f74#

我将Xcode中的所有iOS部署目标从12.0降级到10.0,并在Podfile中将平台从12.0降低到10.0,我终于能够解决这个部署错误。

相关问题