web-dev-qa-db-ja.com

Xcodebuildはcocoapodsを使用したjenkinsで失敗します

Xcodeプラグインを使用しています。私は周りを見回しましたが、ほとんどの「解決策」は機能しませんでした。

私の主な問題は、生成されたxcworkspaceに、構築しようとしているプロジェクトのスキームがないことです。プラグインはコマンドを実行します

$ /usr/bin/xcodebuild -list -workspace Project.xcworkspace

出力にはポッドのスキームのみが表示され、メインのプロジェクトスキームは表示されません。

Information about workspace "Project": Schemes: Pods Pods-AFNetworking Pods-Bolts Pods-Facebook-iOS-SDK

pod installを使用したcocoapodsビルドステップがあります

これをXcodeプラグインの構成として配置します:ターゲット:プロジェクト、ビルド前にクリーン、構成:デバッグ、Xcodeスキーマファイル:プロジェクト、Xcodeワークスペースファイル:プロジェクト、ビルド出力ディレクトリ:$ {WORKSPACE}/build。

これは、出力されるエラーです。

Going to invoke xcodebuild:, scheme: Project, sdk: DEFAULT, workspace: Project, configuration: Debug, clean: YES, archive:NO, symRoot: DEFAULT, configurationBuildDir: /Users/ignat/.jenkins/workspace/Project/build, codeSignIdentity: DEFAULT
[Project] $ /usr/bin/xcodebuild -scheme Project -workspace Project.xcworkspace -configuration Debug clean build CONFIGURATION_BUILD_DIR=/Users/ignat/.jenkins/workspace/Project/build
Build settings from command line:
    CONFIGURATION_BUILD_DIR = /Users/ignat/.jenkins/workspace/Project/build

xcodebuild: error: The workspace 'Project' does not contain a scheme named 'Project'.
FATAL: Build directory does not exist at /Users/ignat/.jenkins/workspace/Project/build. Potential configuration issue.
Build step 'Xcode' marked build as failure
Finished: FAILURE
13
Ignat

xcodebuild -listの出力が示すように、ワークスペースにはポッドのスキームしかありません。

Jenkinsインスタンスがプロジェクトをリポジトリからプルする場合、Projectスキームをすべての人に共有していない可能性があります。

これを修正するには、リポジトリを使用するすべてのユーザーに対してスキームを共有する必要があります。 Xcodeで、スキーム名をクリックしてスキームメニュー(左上隅)を開き、[スキームの管理...]を選択します。

Manage schemes menu

[スキームの管理]ダイアログで、右側の[共有]ボックスをオンにして、Jenkinsで構築するスキームがすべてのユーザーに共有されていることを確認します。

Manage Schemes dialog

その後、ProjectスキームがJenkinsにリストされるはずです。

19
LodeRunner