Come posso caricare una rappresentazione NSImage dell'icona per la mia applicazione?

StackOverflow https://stackoverflow.com/questions/1359060

  •  20-09-2019
  •  | 
  •  

Domanda

Ho un file icona personalizzata (MyApp.icns) impostati per il mio cacao App. Come posso accedere una rappresentazione NSImage dell'icona da dentro la mia domanda?

qualcosa come il seguente sarebbe perfetto:

NSImage * iconImage = [MyApplication defaultIconAsImage];

Ma sono sicuro che non è che facile:)

posso, naturalmente, ottenere un percorso del file icona come segue:

NSString * iconPath = [[NSBundle mainBundle]
                       pathForResource:@"MyApp" ofType:@"icns"];

Ma mi sembra che ci dovrebbe essere una sorta di metodo standard per l'accesso il file icona dell'applicazione, oltre chiamandolo per nome, dal momento che il nome potrebbe cambiare.

Qual è il modo corretto di fare questo?

È stato utile?

Altri suggerimenti

Solo per completezza -. Questo è come si ottiene l'icona per qualsiasi applicazione o file nel sistema

NSImage *iconImage = [[NSWorkspace sharedWorkspace] iconForFile:@"path"];

Passate il percorso del pacchetto di applicazioni per l'icona di un'applicazione o il percorso di un file per l'icona associata al file.

Si noti che -[NSApplication applicationIconImage] non restituisce l'icona corretta quando un'icona personalizzata viene incollato sul app. Allora avete bisogno di fare:

NSString* appPath = [[NSBundle mainBundle] bundlePath];
NSImage* appIcon = [[NSWorkspace sharedWorkspace] iconForFile:appPath];

(riferimento al codice icona del dock che ho scritto per Chromium: http: //src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm )

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top