2009-03-14 13 views

Antwort

23

in Ihrem info.plist

<key>CFBundleIconFile</key> 
<string>iconfile</string> 

mit Symboldatei iconfile.icns in Ihrem Verzeichnis Resources

+0

Funktioniert perfekt. Vielen Dank. –

+3

Die Antwort ist korrekt, aber der Finder erkennt die Änderung des Symbols normalerweise nicht sofort. Kopieren Sie das Paket in einen anderen Ordner, um das neue Symbol zu registrieren. – koan

+1

musste ich zusätzlich leeres Icon entfernen? Datei an der Wurzel des Bündels. – ciastek

4

hinzufügen Wenn Sie hierher gekommen, weil Sie eine einzelne App haben und wollen nur das Bild auf Ihrem Computer ändern (nicht sicher, wie es zum Teilen funktioniert), es gibt viel einfachere Wege. Insbesondere sind hier zwei Optionen, die ich verwendet habe:

  1. Wenn Sie ein vorhandenes Symbol kopieren möchten:

    • Wählen Sie die Quelle Element und drücken Sie Cmd-I (Apple I)
    • Wählen Sie das Element, das Sie ändern möchten, und drücken Sie Cmd-I (Apple-I)
    • Ziehen Sie das Symbol von der Quelle auf das Symbol oben links des zu ändernden Symbols (das Beispielbild zeigt das Zielsymbol: es ist das Symbol "Ordner" Symbol auf der linken Seite der Wörter "bird_id 2"): enter image description here
  2. Erstellen Sie eine .icns-Datei aus einem beliebigen Bild. Wenn Sie MacPorts verwenden, empfehle ich stattdessen den Port makecns - siehe unten für weitere Informationen. Sie können dies alternativ mit einer App wie http://www.img2icnsapp.com/ wie unter https://discussions.apple.com/thread/2773825 empfohlen tun.

 
makeicns v1.4.10 (284bd686824f) 

Usage: makeicns [k1=v1] [k2=v2] ... 

Keys and values include: 
    512: Name of input image for 512x512 variant of icon 
    256: Name of input image for 256x256 variant of icon 
    128: Name of input image for 128x128 variant of icon 
    32: Name of input image for 32x32 variant of icon 
    16: Name of input image for 16x16 variant of icon 
    in: Name of input image for all variants not having an explicit name 
    out: Name of output file, defaults to first nonempty input name, 
     but with icns extension 

    align: [center, left, right, top, bottom] {First letter suffices!} 

Examples: 

    makeicns -512 image.png -32 image.png 
     Creates image.icns with only a 512x512 and a 32x32 variant. 

    makeicns -in myfile.jpg -32 otherfile.png -out outfile.icns 
     Creates outfile.icns with sizes 512, 256, 128, and 16 containing data 
     from myfile.jpg and with size 32 containing data from otherfile.png. 
+0

Brilliant, das ist genau das, was ich brauchte (und jetzt haben eine benutzerdefinierte Emacs GUI-Launcher welche Erbt auch alle meine .bashrc-Einstellungen, so kann ich die Aliase und andere Skripte leicht aus einer Emacs-Shell oder E-Shell finden). – Ben

3

Ich habe ein kleines Skript, das ein großes Bild nimmt und deren Größe zu allen erwarteten Symbolgrößen für Mac OS, einschließlich der Doppel diejenigen für Retina-Displays. Es nimmt die ursprüngliche PNG-Datei, die ich erwarte, so groß wie die maximale Größe, wenn nicht größer, um sicherzustellen, dass sie bei maximaler Qualität gerendert werden.

Es ändert die Größe und kopiert sie in ein Icon-Set und verwendet das Iconutil-Tool des Mac OS, um sie zu einer .icns-Datei zu verbinden.

Damit dieses Skript ausgeführt werden kann, benötigen Sie Ihre ursprüngliche Symboldatei als PNG, und Sie haben Ihr Paket in mehr oder weniger funktionierender Reihenfolge. Sie müssen nur die ersten drei Zeilen berühren.

export PROJECT=Myproject 
export ICONDIR=$PROJECT.app/Contents/Resources/$PROJECT.iconset 
export ORIGICON=Mybigfile.png 

mkdir $ICONDIR 

# Normal screen icons 
for SIZE in 16 32 64 128 256 512; do 
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_${SIZE}x${SIZE}.png ; 
done 

# Retina display icons 
for SIZE in 32 64 256 512; do 
sips -z $SIZE $SIZE $ORIGICON --out $ICONDIR/icon_$(expr $SIZE/2)x$(expr $SIZE/2)x2.png ; 
done 

# Make a multi-resolution Icon 
iconutil -c icns -o $PROJECT.app/Contents/Resources/$PROJECT.icns $ICONDIR 
rm -rf $ICONDIR #it is useless now 
Verwandte Themen