平穏な開発ライフを過ごしていた、ある日突然それは訪れました😇
Warning: unable to build chain to self-signed root for signer "Apple Development: HogeHoge (0000000000)"
/Users/Hoge/Library/Developer/Xcode/DerivedData/hoge-app-hogehogehogehoge/Build/Products/Debug-iphoneos/hoge-app.app: errSecInternalComponent
当時の俺「そんなに時間掛からないかな😏」
この時私はこのエラーに一ヶ月弱悩まされることをまだ知らなかった...
##試してできなかった方法
試したこと | 結果 |
---|---|
再起動 | 何回再起動してもだめだった |
キーチェーンのリセット | バックアップをとって証明書を再度インストールしたけどだめだった。 |
Xcode再インストール | Xcode関連ファイルを全て削除した上で再インストールしたけどだめだった。 |
キーチェーンのロックとロック解除繰り返し | stackoverflowで見かけた方法だけどだめだった。 |
キーチェーンのロック解除コマンド | これも同様にだめだった。 |
キーチェーンをロックしてビルド | ビルド時にポップアップが出て許諾してもだめだった。 |
証明書信頼設定をシステムデフォルトに変更 | これは最初からシステムデフォルトだった。 |
証明書の秘密鍵のアクセス制御に、codesignとxcodeを追加 | これも追加したがダメだった。追加されてない場合は許可ダイアログが出るので関係なさそう。 |
OSのアップデート | BigSurにしたらわんちゃん治るかなって思ったけど無理だった。 |
プロビジョニングファイル削除→再度インポート | これも意味なかったみたい。 |
carthageのキャッシュ削除からの再ビルド | carthageのライブラリの署名のところでエラーが出るからわんちゃんって思ったけど関係なさそうだった。 |
##解決方法
https://developer.apple.com/account/resources/certificates/list
上記のリンクから既存のDevelopmentやDistributionのCertificatesを削除後に、新規に作成しなおします。
プロビジョニングファイルも同様に作成しなおしてください。
この方法であっさりと解決できてしまいました。
##最後に
codesignコマンドで手動署名する際、sudoしたら正常に署名できましたが、sudo無しだと上記のエラーが発生しました。
このことから、今回のエラーは既存の証明書の権限周りに不具合が出たと考えています。
同様のエラーが発生した同志の助けになることを願っています。
ではまた👋