Flutterで開発している際、iOSをビルドするとNo code signature not found
というエラーが出てしまった。調べたところ、実際Flutterのバグのようだ:(次のバージョン修正される予定らしい)
https://github.com/flutter/flutter/issues/53891
解決策はこのコメントの通り:https://github.com/flutter/flutter/issues/53891#issuecomment-611270082 、下記のコマンドで
security find-identity -p codesigning -v
既存のIDが表示される:
1) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Apple Development: XXX (XXX)" (CSSMERR_TP_CERT_REVOKED)
2) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Apple Development: XXX (XXX)"
3) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "Apple Distribution: XXX (XXX)"
...
この中で行の最後に(CSSMERR_TP_CERT_REVOKED)
のような、CSSMERR_TP_CERT_XXXXXX
系の表示のあるものは取り消された(REVOKED)や期限過ぎた(EXPIRED)ものが多いので、消しとくといい。
削除するには下記のコマンドで:(XXXX...
は実際行の先頭にあるIDにしてください)
security delete-identity -Z XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
今回はビルドエラーに遭遇したからこのツールを知った。 長く開発をやっていると、古い設定が意外と残ったりするので、定期的に整理しても良さそう!