Come posso impostare l'icona per un'applicazione Mac in Xcode?


87

Ho imparato molto sulla scrittura di codice Objective-C e sulla progettazione in Interface Builder e volevo impostare le icone per i miei semplici programmi.

Ho aggiunto lo stesso JPG a tutti i campi delle dimensioni in Icon Composer e ho ottenuto un ICNS, ma non sono riuscito a capire come aggiungerlo al progetto.

Grazie in anticipo.

Risposte:


162

Poiché Xcode 4.4 Icon Composer non è più il modo consigliato per creare icone e non è più incluso nell'installazione standard di Xcode. A causa dell'introduzione dei Mac con display retina, si consiglia ora di fornire versioni ad alta risoluzione di tutta la grafica, comprese le icone delle app.

Per assegnare alla tua app un'icona in Xcode> 4.4, procedi come segue:

  1. Crea una cartella [IconName] .iconset nel Finder

  2. In questa cartella posiziona la tua icona come file png. Avrai bisogno dell'icona nelle dimensioni di 16px, 32px, 64px (solo retina), 128px, 256px, 512px e 1024px (solo retina)

  3. Queste icone devono essere denominate con il motivo icon_16x16.png, icon_32x32.png, icon_128x128.png e così via

  4. Per supportare i display Retina è necessario aggiungere anche file di icone con doppia risoluzione, denominati icon_16x16@2x.png (con dimensioni 32x32), icon_32x32@2x.png (dimensioni 64x64) e così via fino a icon_512x512@2x.png (dimensioni 1024x1024).

  5. trascina questa cartella [IconName] .iconset su Xcode (copia se necessario)

  6. nel file info.plist impostare il valore "CFBundleIconFile" (Icon File as Key) su [IconName] ma senza l'estensione .iconset

Annotazioni:

  • (attualmente) non è necessario fornire le icone @ 2x
  • funzionerà (di solito) anche se non fornisci tutti i file di icona
  • la cartella iconset non dovrebbe contenere un file icon_64x64.png. l'icona 64px è solo per la versione retina di icon_32x32

Aggiornamento: alla fine la tua cartella .iconset ha i seguenti 10 elementi:

icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

Guida ufficiale:

https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html

Informazioni aggiuntive:

Per convertire la cartella del set di icone in un file icns, eseguire il seguente comando sul terminale:

iconutil -c icns [IconName].iconset

dove [IconName] dovrebbe essere sostituito con il prefisso della cartella del set di icone. Ora hai un file chiamato [IconName] .icns. In Xcode 4.4, nel Riepilogo destinazione, fare clic con il pulsante destro del mouse sul punto interrogativo per l'icona, quindi selezionare il file icns. Dovresti quindi vedere il punto interrogativo sostituito con l'icona.


In alcuni casi il set di icone non verrà automaticamente aggiunto alla fase di creazione "Copia risorse bundle", in tal caso è necessario aggiungerlo manualmente alla fase di creazione.
Reimund

1
Nota: Xcode 4.4 convalida e converte automaticamente una cartella del set di icone in un file icns. Tutto quello che devi fare è aggiungere la cartella del set di icone al tuo progetto e creare il progetto. Il file icns generato viene aggiunto automaticamente al prodotto costruito.
EsbenB

1
@kadam Hai ragione, è sempre stato così. Ho leggermente modificato la risposta per rendere più chiara la denominazione dell'icona della retina.
codingFriend1

1
^ oh, non menzionano le dimensioni 64x64 o 1024x1024 in questa documentazione: developer.apple.com/library/mac/#documentation/… ... quindi questo riduce il numero a 10!
Chris Allinson

1
@ChrisAllinson Hai bisogno di icone di 64px e 1024px. Ma questi sono denominati icon_32x32@2xe icon_512x512@2x.png. Ho aggiunto l'elenco di tutti i nomi delle icone alla risposta per chiarire questo aspetto.
codingFriend1

32

A partire da Xcode 7 (non sono sicuro di quando è stato originariamente introdotto), puoi utilizzare il file Assets.xcassets per le icone delle app. Questo file è incluso per impostazione predefinita per i nuovi progetti.

Semplicemente:

  1. Vai alle impostazioni del tuo obiettivo e assicurati che in Generale , Icone app , la Sorgente sia impostata su AppIcon .
  2. Aggiungi tutte e 10 le icone png all'immagine AppIcon di Assets.xcassets.
  3. Elimina i dati derivati se hai già avviato l'app, altrimenti continuerà a mostrare l'icona predefinita.
  4. Esegui l'app; ora dovrebbe mostrare la tua icona nel Dock, nel commutatore di applicazioni e ovunque dovrebbe apparire.

27

Segui questi passaggi per aggiungere un'icona dell'applicazione al tuo progetto. Questa è l'icona che verrà mostrata da MacOS nella barra dei documenti e nella visualizzazione alt-tab.

  • Crea un file di risorse icona .icns
  • Mettilo nella cartella "resources / macos"
  • Aggiungilo al gruppo di risorse nel progetto xcode
  • Modifica il file Info.plist e cambia la stringa del valore "CFBundleIconFile" in "icon"

Inoltre, lo strumento img2icns può tornare utile per convertire le immagini in un'icona.


... cambia la stringa del valore "CFBundleIconFile" nel nome del tuo file .icns. FTFY
Francis McGrew

In Xcode 7 non è necessario posizionare il file .icns in una cartella specifica, purché si trovi all'interno del bundle. Ho creato una cartella / risorse e ho semplicemente trascinato il file icon.icns nella cartella in Xcode. Quindi ho modificato Info.plist e ho impostato il file Icon su icon.ins. Devi anche disabilitare la funzione per utilizzare Assests nelle impostazioni "Generali" per l'app.
gbdavid

7

Passaggi per aggiungere l'icona di un'applicazione al tuo progetto di cacao.

  1. Trova "Icon Composer" da Spotlight.
  2. Trascina e rilascia l'icona (il nome dovrebbe essere come nomeimmagine.icns) nelle caselle fornite.
  3. Seleziona una casella e salvalo.
  4. Trascina e rilascia l'immagine salvata nella cartella Risorse della tua applicazione.
  5. Seleziona destinazione -> fai clic con il pulsante destro del mouse sul nome del progetto -> Seleziona GetInfo.
  6. In Proprietà immettere il nome di "File icona".
  7. Ora Clean Build ed esegui la tua applicazione.

1
6 anni dopo, questo non è più applicabile
mix3d

7

È facile

  1. Utilizzare uno strumento automatico (come IconFly) per creare ICNS o set di icone corretti con tutte le dimensioni necessarie.

  2. Quindi trascina e rilascia l'ICNS o il set di icone creati su Xcode.

  3. nel file info.plist imposta il valore "CFBundleIconFile" su [IconName]


3

Xcode 8.2.1

  1. Converti .png 👉.icns tramite IconMaker

  2. Aggiungi il file AwesomeApp.icns nella stessa cartella di info.plist

  3. Trascina il file AwesomeApp.icns in xcode nella stessa cartella di info.plist

  4. In info.plist impostare l'icona: su AwesomeApp.icns


4
Dovresti anche eseguire command + option + shift + K che pulisce la build. Quindi crea di nuovo l'app e l'icona dovrebbe essere applicata
Luka Kerr

Sembra una pulizia profonda! Un riavvio di xcode e del tuo computer può anche fare il trucco in alcuni casi: P Personalmente non ho dovuto pulire la build prima che funzionasse. Grazie per la punta Luka! uso completo per futuri spettatori.
eonista

Il link @eonist IconMaker è morto.
jamescampbell

@ jamescampbell Hey vecchio sport. Aggiornato ora
eonista

0

Passaggio 1: ottieni il nome del file di icone da info.plist e posiziona la cartella icns (file di icone) nella cartella SourceCode / resources

Passo 2: E la stessa cosa vale per xcode, devi copiare tutte le immagini da xcode usando copyallframeworks o il file di risorse copyall nel tuo xcode e ricostruire l'app.


@ Asif.Ali Risposta data con passaggi.
Rachit kapadia
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.