14

アプリ開発プロジェクト用に Jenkins CI インスタンスをセットアップしようとしています。デバッグ構成を使用してロジックとアプリケーションのテストを実行する作業を行っていますが、コンパイル中にリンケージ エラーが発生するため、IPA のビルドに苦労しています。

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

このアプリは Cocoapods を使用しており、Jenkins XCode プラグインを使用して構築しています。

私は同様の問題を検索し、多くのことを試し/検証しました:

  • ワークスペースを使用しています。
  • pod installxcodebuild ステップの前に実行しています。
  • この回答で示唆されているように、プロジェクト自体のアーキテクチャ、ターゲットとポッドが同じであることを確認しました-標準(armv7、armv7s) -
  • この GitHub スレッドからさまざまなソリューションを試しました
  • この回答と同様のものに従って、派生データの場所のさまざまな設定を試しました
  • Podfile が指定するplatform :ios, :deployment_target => "6.0"

その時点で、私はこれ以上何をしようか途方に暮れています。

4

5 に答える 5

3

「Build Output Directory」設定もこれを引き起こす可能性があります。

「ビルド出力ディレクトリ」の値を相対パスから完全に指定されたパスに変更すると、修正されました。

たとえば、「MyOutputDirectory」の代わりに「/Users/Shared/Jenkins/home/jobs/JenkinsProject/workspace/MyOutputDirectory」を使用します

于 2014-10-11T18:48:24.733 に答える
2

問題は、異なる (カスタム) ビルド構成を使用していることが原因である可能性があります。

これを見てください:

https://github.com/CocoaPods/CocoaPods/issues/121

次の検索パスを「ライブラリ検索パス」に追加してみてください(すべての構成について)

$(SYMROOT)/Release$(EFFECTIVE_PLATFORM_NAME)
于 2014-03-31T20:47:45.437 に答える
0

XCodeプラグインと話すことができないので、私の答えはやや無反応だと思われるかもしれません.

次のようなビルドステップを追加しました。

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
echo $WORKSPACE
cd "/Users/[jenkins-accountname]/.jenkins/jobs/[jobname]/workspace/[xcode project name]"
pod install
xcrun xcodebuild -workspace [your workspace (not project) name] -scheme [the build scheme to build] clean build -destination "platform=iOS,name=CurtsiPhone" -destination-timeout 120

-destination-destination-timeoutは、ビルドを成功させるための重要な引数でした。私のプロジェクトは特殊なライブラリを使用しているため、電話でのみビルドされます。そのため、XCode が見つけられるように電話を接続する必要があります。プロジェクトがシミュレーターでビルドされる場合、これは必要ないかもしれませんが、宛先を明示的に指定した場合にのみ機能しました。

XCode プラグインで追加のコンパイル引数を指定できる場合は、これらを試してください。

于 2015-03-12T16:47:39.360 に答える