アプリケーションのアイコンを作成する方法は?
自作したアプリケーションのアイコンを自作のイラストから作成しようとしてます。
以前は(かなり前ですが)プレビューアプリで保存の時にフォーマット.ICNSで保存できたと思いますがSequpia(15.0.1)の
プレビューアプリでは保存時のフォーマットの選択肢に.ICNSが出てきません。
プレビューアプリでICON作成する方法ありますか?
iMac 24″, macOS 15.0
自作したアプリケーションのアイコンを自作のイラストから作成しようとしてます。
以前は(かなり前ですが)プレビューアプリで保存の時にフォーマット.ICNSで保存できたと思いますがSequpia(15.0.1)の
プレビューアプリでは保存時のフォーマットの選択肢に.ICNSが出てきません。
プレビューアプリでICON作成する方法ありますか?
iMac 24″, macOS 15.0
こんにちは。
私、xCodeは使わずにmakeやcmakeにて、アイコン付きアプリを作っております。(Linuxとの共通ソース目的)
pngで基となるアイコン画像を作成して、ターミナルから
-sips コマンドで16×16〜1024×1024のiconsetを生成し、最後に-iconutilで1つのicnsファイルにまとめあげ、plistと関連付けてアイコン付きappを作るやり方です。
pngなのでPreviewで作れますね。
ただ、、xCodeをお使いなら、XCodeの機能を使うのがよいと思いますが。
(たぶんやってることは同じだと思いますが)
こんにちは。
私、xCodeは使わずにmakeやcmakeにて、アイコン付きアプリを作っております。(Linuxとの共通ソース目的)
pngで基となるアイコン画像を作成して、ターミナルから
-sips コマンドで16×16〜1024×1024のiconsetを生成し、最後に-iconutilで1つのicnsファイルにまとめあげ、plistと関連付けてアイコン付きappを作るやり方です。
pngなのでPreviewで作れますね。
ただ、、xCodeをお使いなら、XCodeの機能を使うのがよいと思いますが。
(たぶんやってることは同じだと思いますが)
今やicon ファイルは非推奨(deprecated)ですね。
XcodeプロジェクトのAsset Catalogで作成します。
Configuring your app icon | Apple Developer Documentation
>Contents→Resourcesファイル内の.icnsファイルと置き換えれるということでよろしいいでしょうか?
はい。そうです。
私はその方法で通常はCommandLineからしか実行できないアプリをAutomatorで呼び出して
アイコンは自前のモノに変更して遊んでいます。
たとえば・・・
アプリで保存すると、通常コレですよね。
で、Resourceの中のicnsを自作のものと入れ替えるわけです。
このあと、appをCopy、または移動してFinder情報を更新すると、、、アイコンが変わります。
Getinfoで見ると・・・・・
こんな感じ。
先のHiro__SさんのScriptとほぼ同じ内容をMakefileに追記して、ターミナルからmake1発でコンパイル→バイナリ生成→アイコン付きMac用アプリの生成、とかもやってますよ。
macOSのplistも覗いてみると、なかなか面白いですよ。
Macでファイルやフォルダのアイコンを変更する - Apple サポート (日本)
によれば、画像をプレビューで開いて画像をコピーし、そのまま情報を見るのアイコンのところにペーストすれば良いような書き振りですが。
ピンポン、ピンポンです!
ありがとうございます。
アプリケーションをDesktopに置いてPNGファイルを「情報」のアイコンにドラッグアンドドロップしたらアイコンが更新されました。
う〜、せめてアプリケーションフォルダー内でPNGファイルをドラッグアンドドロップした時にエラーメッセージでも出してくれればもっと違う問題解決のアプローチができたのに‥
1024x1024 の png ファイルを一枚用意して、こんな感じの Automator ワークフローで icns ファイルを作成できます。
使い方: ワークフローを実行して、ダイアログに従い png ファイルを選択すると、同じフォルダに icns ファイルが生成されます。
# AppleScript
on run
set msg to "PNG ファイルを選択してください"
choose file of type "public.png" with prompt msg
end run
# シェルスクリプト
[[ $# > 0 ]] || { echo "no argument specified" >&2; exit 1; }
pngfile="${1}" # 1024x1024
iconset="${pngfile%/*}/icon.iconset"
mkdir -p "${iconset}"
sips -Z 1024 "${pngfile}" --out "${iconset}/icon_512x512@2x.png"
sips -Z 512 "${pngfile}" --out "${iconset}/icon_512x512.png"
sips -Z 512 "${pngfile}" --out "${iconset}/icon_256x256@2x.png"
sips -Z 256 "${pngfile}" --out "${iconset}/icon_256x256.png"
sips -Z 256 "${pngfile}" --out "${iconset}/icon_128x128@2x.png"
sips -Z 128 "${pngfile}" --out "${iconset}/icon_128x128.png"
sips -Z 64 "${pngfile}" --out "${iconset}/icon_32x32@2x.png"
sips -Z 32 "${pngfile}" --out "${iconset}/icon_32x32.png"
sips -Z 32 "${pngfile}" --out "${iconset}/icon_16x16@2x.png"
sips -Z 16 "${pngfile}" --out "${iconset}/icon_16x16.png"
iconutil -c icns "${iconset}"
はにさんが書かれた方法が一番簡単そうですね。
自作のプログラム(Apple Scriptではありません)でデフォルトアイコンのまま
使用していたものに、PNG画像として作成したものをドロップしてみました。
他のマックにコピーしてもそのまま有効ですね。
画像は1024x1024で作成しましたがもっと小さくても大丈夫でしょう。
正方形でないと変形されると思います。
> しかし、アプリのカスタムアイコンがPNGファイルのペーストで設定できなくなったのはSequoiaでの仕様変更なんでしょうかね??
小生はPNGファイルをドロップでできましたけどね。
ペーストする前に情報パネルのアイコンをクリックして選択しましたかね?
>ターミナル使ってコマンド入力するのは私にはちょっとハードル高そうなので
了解です。
ただ、、⌘+I(get info)のアイコン部分に画像pasteする方法はあくまで「カスタムアイコン」です。
アプリケーション自体が持つアイコンではなく、Finderのデータベース上のアイコン情報を書き換える行為。
アプリケーション自体が持つアイコン情報を変更するわけではありませんので、その点はご注意ください。
スクリプトエディタで作成したアプリケーション形式の AppleScript の場合は、自動的な署名による問題を回避するためにカスタムアイコンの方が良さそうです。面倒でももう一度アプレットを作り直してカスタムアイコンを付与すると良いと思います。
最初にアプリを作った時(多分Ventura)はその方法で亀どんさんがおっしゃるところの「カスタムアイコン」を設定していました。
9月下旬にSequoiaにしてからそのアプリをしばらく使っていなくて先日使おうとしたらアプリのiconがApplescriptのデフォルトアイコンに戻ってしまっていたので再度アプリを選択して右クリックで「情報を見る」を選択し一番上に表示されるiconを選択しそこに以前カスタムアイコンに使ったpngファイルをドロップしたんですがiconが変更されないんですよね(左下の鍵マークはオープンしてます)
(添付の画像参照ください)
そこで、Sequoiaではicnsファイルでなければカスタムアイコンに出来ないのでは?と思いicnsファイルの作り方を質問してしまいました
回答いただいた皆さん申し訳ありません。私の質問が説明不足で皆さんを混乱させてしまったようですので質問を整理させていただきます。
質問の主旨は、Applescriptで作成したアプリのアイコンを自分のオリジナルのアイコンに変更したいということです
1.自作のApplescriptアプリのカスタムアイコンがデフォルトのappleScriptのアイコンになってしまっている。
2.多分原因はOSをSequoiaに上げたためじゃないかと判断
3.以前に行った方法と同じ方法(カスタムアイコン用のPNGファイルを該当のアプリ選択→右クリック→情報を見るで表示されるアプリのiconにPNGファイルをペースト)でカスタムアイコンを設定しようとしたがカスタムアイコンにならない
4.Sequoiaになってからはカスタムアイコンにするには.icnsファイルでないとダメなのではないかと判断
5..icnsファイルの作成方法を質問
↑
いまここです。
.icnsファイルの作成方法を丁寧に教えていただきありがとうございます。
アプリのアイコンを変更するには教えていただいた方法で作成した.icnsファイルをアプリのパッケージの内容を表示→Contents→Resourcesファイル内の.icnsファイルと置き換えれるということでよろしいいでしょうか
パッケージ内の applet.icns を入れ替えた後でアプレットを再保存すると自動的に署名がなされるようです。そうなると、property の値は固定となるため、次のようなコードは期待通りに動かなくなるようです。要注意。
property x : "hello"
on run
if x is "hello"
set x to "goodbye"
else
set x to "hello"
end if
end run
みなさん回答ありがとうございました。
Hiro_Sさんが回答いただいたAutomatorのワークフローで.icnsファイルを作成して、Resources内の.incsファイルを置き換えて無事私のアプリのiconを変更できました。
Hiro_SさんがAutomatorのワークフローのソースコードのTEXTを貼っていただしたおかげでそれをコピペすることでミスパンチをすることなくすんなりとワークフローが作成できました。利用する人の思い遣っていただいた回答大感謝です。
しかし、アプリのカスタムアイコンがPNGファイルのペーストで設定できなくなったのはSequoiaでの仕様変更なんでしょうかね??
アイコンをクリックして青枠がでてからPNGファイをドロップしてます
26日21:04の品川地蔵さん宛の返信にも記載しましたが、「情報を見る」の画面のアイコンのところにPNGファイルをもっていくと
丸に+のマークが出てこれはいけるかなと思ってドロップしてもアイコンは変わらないんですよね。
なんか納得できませんが、Hiro_Sさんに教えていた出した方法で.icnsファイルを作成してアイコンは変更できたのでとりあえず「良し」としたいと思います。
アプリケーションのアイコンを作成する方法は?