Jenkins 経由の Xcode でのビルド処理で、codesign で errSecInternalComponent のエラーが出たときの解決方法

iOS

今まで動いてたビルド処理が、Macのセキュリティアップデートなどをきっかけに突然エラーになるケースがたまにあります。

codesign の処理で errSecInternalComponent のエラーが出るようになってしまったので、その対応方法のメモです。

発生した現象

ビルド用 Mac の Jenkins が動いてなかったので、 brew services restart jenkins で起動したのですが、その後あたりから codesign で以下のように errSecInternalComponent のエラーが出るようになってしまっていました。

Code Signing /Users/xxxx/Library/Developer/Xcode/DerivedData/(中略)/FirebaseCore.framework with Identity Apple Development: Xxxx Xxxx (********)
/usr/bin/codesign --force --sign AD2**********************************AD7  --preserve-metadata=identifier,entitlements '/Users/xxxx/Library/Developer/Xcode/DerivedData/(中略)/FirebaseCore.framework'
/Users/xxxx/Library/Developer/Xcode/DerivedData/(中略)/FirebaseCore.framework: errSecInternalComponent
Command PhaseScriptExecution failed with a nonzero exit code

どうやら、Macのセキュリティアップデートが自動で実行されてMacが再起動したようで、その後Jenkinsが動いていなかったのを手動で起動した後から、発生するようになったようです。

環境は以下です。

  • macOS Sequoia 15.5
  • Xcode 16.3

解決方法

色々試したところ、以下の手順で解決しました。

  1. ssh経由で security unlock-keychain を実行(パスワードを入れる)
  2. Mac を再起動(Jenkinsの再起動だけでも良いかも?)

他の対応手順としては以下などもありますが、これらは過去にすでに対応済みだったり、適用しても効果が無かったりでした。

  • Apple の中間署名証明書のインストール
  • 「codesign は、キーチェーンに含まれるキー “xxx”へアクセスしようとしています」の画面で「常に許可する」を選択
    • この画面自体が出てこなかった
  • キーチェーンアクセスで秘密鍵の「アクセス制御」を「この項目の使用をすべてのアプリケーションに許可」にする
    • やってみたが効果がなかった

以下などを参考にしました。

Just a moment...
Just a moment...
Xcode 16.2 cannot sign developer a… | Apple Developer Forums
Code Signing -- errSecInternalComp… | Apple Developer Forums
Resolving errSecInternalComponent … | Apple Developer Forums

コメント

タイトルとURLをコピーしました