1. ホーム
  2. xcode

xcodebuild エラー。コマンド PhaseScriptExecution は 0 以外の終了コードで失敗しました。

2022-02-25 10:10:22

iOS プロジェクトをビルドしたマシンで "p12" 証明書を更新して、xcodebuild コマンドがパッケージ化に失敗し続け、フレームワークの再署名ステージの "'*.app/Frameworks ' でエラーが発生します" つまり、再署名に失敗するのです。

エラーメッセージは以下の通りです。


/Users/iOS-Build/.jenkins/workspace/iOS-test/_DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/iOS-test/ InstallationBuildProductsLocation/Applications/iOS-test.app/Frameworks/HyphenateLite.framework: errSecInternalComponent

Command PhaseScriptExecution failed with a nonzero exit code



<スパン

エラーの理由 : は

新しいp12ファイルで署名する場合、初回は"keychain"の解除にパスワードが必要ですが、ここでは解除していません。

解決策

キーチェーンのロックを解除するために、私のコードでは "/usr/bin/security" コマンドを使用していますが、この場合、それは機能しないようです。

私が行ったのは、ランダムな.frameworkファイルを見つけ、タスクがコンパイルされたマシンでそれを実行することでした。

codesign -f -s "name of new p12 file in keychain" HyphenateLite.framework

これにより、キーチェーンがパスワードボックスをポップアップし、パスワードを入力し、"always valid"をチェックし、問題なく前のコンパイルを実行するようにトリガーします。

注意: ssh を使って上記の codesign コマンドを実行すると UI ボックスが表示されるため、このマシンに VNC するか、スクリーンを使って直接接続する必要があります。

取得元:https://my.oschina.net/shede333/blog/3012508