【確認環境】
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 件のコメント:
コメントを投稿