今まで動いてたビルド処理が、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
解決方法
色々試したところ、以下の手順で解決しました。
- ssh経由で
security unlock-keychain
を実行(パスワードを入れる) - Mac を再起動(Jenkinsの再起動だけでも良いかも?)
他の対応手順としては以下などもありますが、これらは過去にすでに対応済みだったり、適用しても効果が無かったりでした。
- Apple の中間署名証明書のインストール
- https://www.apple.com/certificateauthority/ のやつ
- 過去にすでに対応済みだった
- 「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
コメント