[Xcode] AppIcon 間違いのエラー

Xcode が みたことない エラーを出力した時のメモ

環境&対象

以下の環境で動作確認を行なっています。

  • macOS Big Sur 11.4
  • Xcode 13 beta

発生したエラー

コンパイルすると 以下のエラーが発生しました。

CompileAssetCatalog Error
CompileAssetCatalog Error

"Command CompileAssetCatalog" って何? という疑問が湧きますが、エラーメッセージは、そこでエラーが発生していると言ってます。

ログで確認する

ログは、処理対象ファイルのフルパス含め詳細な情報が網羅されるので、読むのが大変ですが、以下がログから抜粋してものです。


CompileAssetCatalog /Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Products/Debug-iphonesimulator/AppName.app /Volumes/Buffalo1T/SmallDeskSoftware/dev/SDSProduct/AppName/AppName/Preview\ Content/Preview\ Assets.xcassets /Volumes/Buffalo1T/SmallDeskSoftware/dev/SDSProduct/AppName/AppName/Assets.xcassets (in target 'AppName' from project 'AppName')
    cd /Volumes/Buffalo1T/SmallDeskSoftware/dev/SDSProduct/AppName
    /Volumes/Buffalo1T/download/Xcode13-beta.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Intermediates.noindex/AppName.build/Debug-iphonesimulator/AppName.build/assetcatalog_dependencies --output-partial-info-plist /Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Intermediates.noindex/AppName.build/Debug-iphonesimulator/AppName.build/assetcatalog_generated_info.plist --app-icon AppIcon --accent-color AccentColor --compress-pngs --enable-on-demand-resources YES --filter-for-device-model iPhone12,1 --filter-for-device-os-version 15.0 --development-region en --target-device iphone --target-device ipad --minimum-deployment-target 14.5 --platform iphonesimulator --compile /Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Products/Debug-iphonesimulator/AppName.app /Volumes/Buffalo1T/SmallDeskSoftware/dev/SDSProduct/AppName/AppName/Preview\ Content/Preview\ Assets.xcassets /Volumes/Buffalo1T/SmallDeskSoftware/dev/SDSProduct/AppName/AppName/Assets.xcassets

2021-06-20 14:49:05.586 ibtoold[2515:35446] DEBUG: Added to environment: {
    TMPDIR = "/var/folders/58/glnfnwf10sb_g3fmdqrhyvpc0000gn/T/C75E5E2A-3770-4B0F-BA7D-AE12A65CEBFF";
}
2021-06-20 14:49:05.750 IBCocoaTouchImageCatalogTool[2520:35562] [MT] DVTDeveloperPaths: WARNING: No version.plist file found next to presumed developer directory '/Volumes/Buffalo1T/download/Xcode13-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Developer'; developer tools may need to be reinstalled.
2021-06-20 14:49:05.754 IBCocoaTouchImageCatalogTool[2520:35563]  DVTFilePathFSEvents: Failed to start fs event stream.
/* com.apple.actool.errors */
: error: The stickers icon set or app icon set named "AppIcon" did not have any applicable content.
/* com.apple.actool.compilation-results */
/Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Intermediates.noindex/AppName.build/Debug-iphonesimulator/AppName.build/assetcatalog_generated_info.plist
/Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Products/Debug-iphonesimulator/AppName.app/Assets.car

Command CompileAssetCatalog failed with a nonzero exit code

ポイントは、以下の行でした。


/* com.apple.actool.errors */
: error: The stickers icon set or app icon set named "AppIcon" did not have any applicable content.
/* com.apple.actool.compilation-results */
/Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Intermediates.noindex/AppName.build/Debug-iphonesimulator/AppName.build/assetcatalog_generated_info.plist
/Users/UserName/Library/Developer/Xcode/DerivedData/AppName-fjmkeyxbmdhauraloadarmhhccnc/Build/Products/Debug-iphonesimulator/AppName.app/Assets.car

要は、AppIcon という名前の icon set に適切な情報がセットされていない です。

このケースでの原因は、「iOS 向けアプリのアイコンに macOS 向けアプリアイコンをセットした」からでした。

わかってみると当たり前ですが、突然エラーになるので、プロジェクト設定を1から見直したりして時間が溶けました。

まとめ:

CompileAssetCatalog でのエラー解決策
  • ログを確認し、どのアセットでエラーが発生しているか確認する
  • エラーに応じて修正する

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です