0

セットアップしようとしているジェンキンスの xcode ビルドでこのエラーが発生しています。

clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libIBAForms.a'
clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libLambdaAlert.a'
clang: error: no such file or directory: '/Users/boo/.jenkins/jobs/myProject/workspace/DerivedData/Release-iphoneos/libRestKit.a'

構成に関するいくつかのことを理解できません。

  1. jenkins-xcode-plugin ( https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin )/DerivedData/Release-iphoneos/が .a ファイルのルックアップのパスで使用するように促した理由

  2. /DerivedData/Debug-iphoneos/代わりに、.a ファイルへのルックアップのパスでフラグメントとして選択しなかったのはなぜですか

  3. 最後に、生成されるサブモジュール - libIBAForms、libLambdaAlert、libRestKit - はすべてプロファイルを持つプロジェクトreleaseですdebug...そのため、ファイルが/DerivedData/Release-iphoneos/本来あるべきパスから実際に欠落している理由は...私を超えています。

4

2 に答える 2

1

ポイント 1 と 2 に関しては、これはXCode プラグイン (および Xcode 自体)の構成パラメーターに基づいて構成されます。デフォルトでは、プラグインはパラメーターに「Release」値を使用します。「デバッグ」を使用する場合は、そのように設定する必要があります。

#3について何を言うべきかわかりません

個人的には、Xcode プラグインには制限があり、必要なオプションが提供されていないことがわかりました。xcode に付属のコマンド ライン ツールを使用しています (通常のExecute Shellビルド ステップを使用) 。

// Below are my build parameters for the job through regular means
CONFIGURATION=Debug
CODE_SIGN_IDENTITY=iPhone Developer: <DeveloperNameHere>
PROVISIONING_PROFILE=3000000B-7000-4000-9CD5-D0000B0F0000
//

// Code for Execute Shell
xcodebuild -verbose -alltargets -configuration ${CONFIGURATION} clean build CODE_SIGN_IDENTITY="${CODE_SIGN_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE}
&&
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${WORKSPACE}/path_here/${CONFIGURATION}-iphoneos/application.app" -o "${WORKSPACE}/path_here/${CONFIGURATION}-iphoneos/application.ipa" --sign "${CODE_SIGN_IDENTITY}" --embed "/Users/<youruser>/Library/MobileDevice/Provisioning Profiles/${PROVISIONING_PROFILE}.mobileprovision"

ジョブの通常どおりパラメーターを設定します
xcodebuild コマンドが実際のビルドを実行します xcrun コマンドはアプリを IPA にパッケージ化し (Xcode のアーカイブ ステップ)、署名し、プロビジョニング プロファイルを IPA に直接埋め込みます。

これらのスイッチの一部はオプションであり、必要ない場合があることに注意してください。しかし、それがコマンド ラインを使用する利点です。実行したいことを完全に制御できます。

-v小さなメモ: 2 番目のコマンドへのフル パスと-oスイッチを必ず指定してください。

于 2012-11-14T14:44:39.187 に答える
0

メインプロジェクトの「ターゲット依存関係」としてlibIBAFormsとlibLambdaAlertを生成するサブモジュールを提供したとき、私はこれらすべてを乗り越えることができました

于 2013-02-03T01:03:32.610 に答える