Swift・iOS

Swiftを中心に学んだことを記録に残すブログです。技術に関係ない記事もたまに書いています。

【Bitrise】XCodeテスト エラー"xcode-test@2 (exit code: 1)" "Xcode Test command failed, error: exit status 70"の対処法

iOSアプリの開始 | Bitrise DevCenterに沿って設定し初めてビルドしたところ、表題のエラーでビルド失敗しました。。原因と対処法に関して記載します。

 

 

開発環境

Xcode 12.0.1

・Swift 5.3

 

エラー内容

失敗した箇所のログ

+------------------------------------------------------------------------------+

| (5) xcode-test@2 |
+------------------------------------------------------------------------------+
| id: xcode-test |
| version: 2.4.6 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: go |
| time: 2020-11-05T05:55:22Z |
+------------------------------------------------------------------------------+
| |
INFO[05:55:22] * [OK] Step dependency (xcode) installed, available.
INFO[05:55:22] * [OK] Step dependency (go) installed, available.
Configs:
- ProjectPath: ~.xcodeproj
- Scheme: ~
- SimulatorPlatform: iOS Simulator
- SimulatorDevice: iPhone 8 Plus
- SimulatorOsVersion: latest
- OutputTool: xcpretty
- IsCleanBuild: false
- IsSingleBuild: true
- ShouldBuildBeforeTest: true
- ShouldRetryTestOnFail: false
- GenerateCodeCoverageFiles: false
- ExportUITestArtifacts: false
- DisableIndexWhileBuilding: true
- TestOptions:
- XcprettyTestOptions: --color --report html --output "/Users/vagrant/deploy/xcode-test-results-~html"
- Verbose: false
- HeadlessMode: true
- CacheLevel: swift_packages
* action: -project
- xcodebuildVersion: Xcode 11.7 (Build version 11E801a)
Checking if output tool (xcpretty) is installed
- xcprettyVersion: 0.3.0
Simulator infos
* simulator_name: iPhone 8 Plus, version: iOS 13.7, UDID: A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C, status: Shutdown
* device_destination: id=A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C
Running the tests...
$ set -o pipefail && env "NSUnbufferedIO=YES" xcodebuild "-project" "/Users/vagrant/git/~.xcodeproj" "-scheme" "~" "build" "COMPILER_INDEX_STORE_ENABLE=NO" "test" "-destination" "id=A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C" "-resultBundlePath" "/var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/XCUITestOutput685534884/Test.xcresult" | xcpretty "--color" "--report" "html" "--output" "/Users/vagrant/deploy/xcode-test-results-~.html"
Exporting test results
$ cp "-a" "/var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/XCUITestOutput685534884/Test.xcresult" "/var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/test_results118069056/test_result210025794/~/"
Failed to export test results, error: copy failed, error: exit status 1, output: cp: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/XCUITestOutput685534884/Test.xcresult: No such file or directory
Last lines of the build log:
Command line invocation:
/Applications/Xcode-11.7.app/Contents/Developer/usr/bin/xcodebuild -project /Users/vagrant/git/~/~.xcodeproj -scheme~ build COMPILER_INDEX_STORE_ENABLE=NO test -destination id=A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C -resultBundlePath /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/XCUITestOutput685534884/Test.xcresult
User defaults from command line:
IDEBuildOperationResultBundlePath = /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/XCUITestOutput685534884/Test.xcresult
Build settings from command line:
COMPILER_INDEX_STORE_ENABLE = NO
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ id:A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C }
Ineligible destinations for the "~" 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 }
If you can't find the reason of the error in the log, please check the raw-xcodebuild-output.log.
The log file is stored in $BITRISE_DEPLOY_DIR, and its full path
is available in the $BITRISE_XCODE_RAW_TEST_RESULT_TEXT_PATH environment variable.
You can check the full, unfiltered and unformatted Xcode output in the file:
/Users/vagrant/deploy/raw-xcodebuild-output.log
If you have the Deploy to Bitrise.io step (after this step),
that will attach the file to your build as an artifact!
Xcode Test command exit code: 70
Xcode Test command failed, error: exit status 70
| |
+---+---------------------------------------------------------------+----------+
| x | xcode-test@2 (exit code: 1) | 14.13 sec|
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-steplib/steps-xcode-test/issues |
| Source: https://github.com/bitrise-steplib/steps-xcode-test |
+---+---------------------------------------------------------------+----------+

 

ログで気になる箇所

・"* simulator_name: iPhone 8 Plus, version: iOS 13.7, UDID: A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C, status: Shutdown"

 →status:がShutdown・・・?シミュレータに関するエラーの可能性あり。

 

・"Failed to export test results, error: copy failed, error: exit status 1, output: cp:"

 →status:Shutdown後にテストを実行し、失敗しているのでシミュレータに何らかの原因がありそう。

 

・"xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ id:A5C4CCDE-4BC3-4AB5-AE9C-50B2E59A243C }
Ineligible destinations for the "~" 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 }"

 →指定した宛先が見つからずエラーになっている。内容から、指定した宛先はシミュレータ関連の宛先を指している可能性がある。

 

原因

Bitrise側が想定しているシミュレータのOSのバージョンと、プロジェクト側が想定しているシミュレータのOSのバージョンが合っていないことによるエラーのようです。

【スポンサーリンク】
 

対処法

シミュレータのOSのバージョンを合わせるには、Bitrise側のXcodeのバージョンをプロジェクト側のXcodeのバージョンに合わせます。

バージョンを合わせた後に再度ビルドを実行すると、エラーが解消されビルドが成功しました。

参考:code test exit code: 70: xcodebuild: error: Unable to find a destination matching the provided destination specifier · Issue #14 · bitrise-io/build.issues · GitHub

 

手順

1.ビルド実行画面の左下の"Open Workflow Editor"を選択

f:id:hfoasi8fje3:20201105160021p:plain

 

2."Stack"を選択

※下の画像の矢印部分を見ると、Xcodeのバージョンが合っていないことがわかります。

f:id:hfoasi8fje3:20201105162115p:plain

 

3."Default Stack"と"Workflow Specific Stacks"で該当のXcodeのバージョンを指定し、設定を保存

今回は下の画像のように"Xcode 12.0.x"を選択し、右上にあるボタンで保存します。

f:id:hfoasi8fje3:20201105162806p:plain

 

参考

iOSアプリの開始 | Bitrise DevCenter

code test exit code: 70: xcodebuild: error: Unable to find a destination matching the provided destination specifier · Issue #14 · bitrise-io/build.issues · GitHub