2020年4月9日木曜日

Code sign error : bundle format unrecognized, invalid, or unsuitable / Code sign error : resource fork, Finder information, or similar detritus not allowed

【確認環境】
macOS10.14.6, XCode11.3.1

【問題】
ビルド時に
「Code sign error : bundle format unrecognized, invalid, or unsuitable」
「Code sign error : resource fork, Finder information, or similar detritus not allowed」
エラーが発生する

【解決】
以下を試してみる

1.クリーンビルド
メニューバー > Product > Clean Build Folder (Command + Shift + K)
※XCode11では.appがクリーンされない?この場合手動で削除

2.DerivedDataフォルダ内を削除
メニューバー  > Preferences > Locationsで指定しているDerivedDataフォルダの中身を削除

3.作業用フォルダをxattrコマンドでクリア
ターミナルで、
xattr -cr "作業用フォルダのパス"
を実行し、xattrをクリアにする


4.リソース(画像ファイル)などのリソースフォークのクリア(2020.05.18 追記)

4−1.プロジェクトのルートディレクトリで以下のコマンドを実行しresources.txtを作成
ls -alR@ . > resources.txt

4-2.resources.txt内にあるファイル情報一覧から「com.apple.FinderInfo」が含まれるファイルを探す。

4-3.そのリソースファイルを含むフォルダをxattrコマンドでクリア
xattr -cr "リソースを含むフォルダのパス"

4−4.クリーン&ビルドする


プロジェクトの拡張属性だけでなく、リソースファイルに含まれる拡張属性も正しくないとCode sign errorが出るので、リソースの拡張属性がある場合はそちらも削除する必要がある。

参考:
https://stackoverflow.com/questions/39652867/code-sign-error-in-macos-high-sierra-xcode-resource-fork-finder-information


0 件のコメント: