#author("2018-10-12T17:16:37+09:00","default:wikiwriter","wikiwriter") #author("2018-10-12T17:33:09+09:00","default:wikiwriter","wikiwriter") &tag(macOS/アプリのアイコン); *目次 [#b6acedec] #contents *関連ページ [#p3948d47] *参考情報 [#he82831f] *基本 [#a0c5283f] -macOSアプリのアイコンは、.appの中のContents/Info.plistで指定されている。 -CFBundleIconFileやCFBundleIconNameが関係している。 -アイコンファイルの本体はContents/Resources以下に存在する.icnsファイル。 -Command+Cでアプリをコピーし、プレビューに貼り付けた場合この.icnsファイルの内容が貼り付けられる? *アイコンの変更 [#s0a6ef18] **参考情報 [#nf0be7d7] -[[How to reset MacOS app icon? Icon displays correctly in ~/Downloads, but becomes generic in /Applications - Stack Overflow:https://stackoverflow.com/questions/50357984/how-to-reset-macos-app-icon-icon-displays-correctly-in-downloads-but-becomes]] -[[Changing Icons - Modding Mac OS X [Book]:https://www.oreilly.com/library/view/modding-mac-os/0596007094/ch04s04.html]] **野良アプリの場合 [#icd3c171] -Webサイトから直接ダウンロードしたアプリの場合、Info.plistで指定されているicnsを直接他のicnsファイルで上書きし、以下のコマンドで変更できる。 #pre{{ touch /Applications/Evernote.app; touch /Applications/Evernote.app/Contents/Info.plist }} **Mac App Storeからダウンロードしたアプリの場合 [#c5c19a19] -[[Can't change Mac App Store app icons? | MacRumors Forums:https://forums.macrumors.com/threads/cant-change-mac-app-store-app-icons.1105471/]]によるとMac App Storeからダウンロードした場合、署名が不一致となり野良アプリのように変更できない。 -csrutil disableでSIPを無効にするしかない? **さらに例外あり? [#qf9b102f] -例えば「App Store.app」の場合、Command+Cでコピーしてプレビューに貼り付けると高解像度アイコンが張り付くが、App Store.appに含まれるAppIcon.icnsは低解像度となっている。 -App Store.appのままだと内容を変更できなかったので、SIPを無効化してApp Store.appをas.appとコピーして、AppIcon.icnsを他の内容で置き換えたり、別のファイル名を指定しても変更できない。 -Info.plistを確認するとCFBundleIconFileとCFBundleIconNameの両方が存在し、CFBundleIconNameを削除すると置き換えが有効になる。理由は不明。 #pre{{ <key>CFBundleIconFile</key> <string>AppIcon</string> <key>CFBundleIconName</key> <string>AppIcon</string> }} -結局App Storeの高解像度icnsの実態がどこに保存されているのか不明。locateで検索してみると以下のファイルが見つかる。 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/appStore.icns