Comment voulez-vous mettre programme icônes de dossier dans la barre latérale du Finder, étant donné que vous devez utiliser une icône personnalisée pour le dossier?

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

Question

travaille actuellement sur un projet, et bien que je peux ajouter des éléments de la barre latérale en ajoutant au fichier com.apple.sidebarlists.plist puis redémarrer Finder, je ne peux pas sembler savoir comment faire afficher les icônes de dossier à l'aide de son attribué icône personnalisée.

Quelqu'un peut-il me pointer vers un lien ou une solution qui me ferait faire ça? Merci un groupe à l'avance!

Était-ce utile?

La solution

Il n'y a aucun moyen pris en charge de le faire en utilisant Cocoa pur. Utilisez l'API LSSharedFileList, au lieu. Il est pris en charge la façon de gérer les listes de la barre latérale, et vous pouvez fournir une icône personnalisée (comme refIcône d'icône Services) lorsque vous insérez un élément.

Autres conseils

Je ne sais pas sur les icônes, mais j'ajouter des éléments à la barre latérale à l'aide de l'emballage qui est ici EBLaunchServices disponible open source:

https://github.com/Eric-Bro/EBLaunchServices

Il est très facile à utiliser. Par exemple, pour ajouter un volume de OSXFUSE monté sur la barre latérale que vous appelez:

NSURL* volumeUrl = [NSURL fileURLWithPath:@"/Volumes/MyVolume"];
[EBLaunchServices addItemWithURL:volumeUrl toList:kLSSharedFileListFavoriteVolumes];

J'étais trop têtu pour ne pas faire de l'évidence. Je l'ai fait:

[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0];

pour définir l'icône d'image pour le dossier. Je l'ai fait à partir de là, je com.apple.sidebarlists.plist NSUserDefaults annexant, et remis en marche à travers des événements Finder d'Apple. Cela fait fonctionner le tout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top