事象
XCode12にアップグレードしてから、ビルドやシミュレータ起動は出来ても実機起動時に以下のコードを吐いて失敗する問題に悩まされていました。
No code signature found.
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402620388
……
外部ライブラリ_SwiftyTesseract_を_SwiftPackageManager_から導入した場合に発生しており、調べてみると、_Firebase_ライブラリなどでも同様の事象が発生しているらしい。
原因と解決方法
どうやら、導入している外部ライブラリがstaticの場合でも実機に転送し、そのバイナリのsignatureをチェックして失敗しているらしい。
基本的にはXCode12のバグのようだが、上記参考URLの通り_Edit Schema_→_Build_→_Post-actions_に、以下の_Run Script_を追加することで一時対処可能。
なお、除去する_Frameworks_は導入しているライブラリにあわせてください
- Shell
/bin/sh
- Provide build settings from
- 対象のアプリ
- 内容
# Type a script or drag a script file from your workspace to insert its path.
rm -rf "${TARGET_BUILD_DIR}/${TARGET_NAME}.app/Frameworks/libtesseract.framework"
rm -rf "${TARGET_BUILD_DIR}/${TARGET_NAME}.app/Frameworks/SwiftyTesseract.framework"
XCode12が修正されるまでの一時対処として、参考まで。