Como posso carregar uma representação nsimage do ícone para o meu aplicativo?

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

  •  20-09-2019
  •  | 
  •  

Pergunta

Eu tenho um arquivo de ícone personalizado (myapp.icns) configurado para o meu aplicativo de cacau. Como posso acessar um NSImage Representação do ícone de dentro do meu aplicativo?

Algo como o seguinte seria perfeito:

NSImage * iconImage = [MyApplication defaultIconAsImage];

Mas tenho certeza que não é este fácil :)

É claro que posso obter um caminho para o arquivo de ícone da seguinte maneira:

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

Mas parece -me que deve haver algum tipo de maneira padrão de acessar a O arquivo de ícone para o aplicativo, além de chamá -lo pelo nome, pois o nome pode mudar.

Qual é a maneira correta de fazer isso?

Foi útil?

Outras dicas

Apenas para completude - é assim que você obtém o ícone para qualquer aplicativo ou arquivo do seu sistema.

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

Passe o caminho para o pacote de aplicativos para um ícone de aplicativo ou o caminho para um arquivo para o ícone associado ao arquivo.

Observe que -[NSApplication applicationIconImage] Não retorna o ícone correto quando um ícone personalizado é colado no aplicativo. Então você precisa fazer:

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

(Reference o código do ícone do dock que escrevi para o Chromium: http://src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top