# Xcode 3 et icône d'application



## g.lebourgeois (27 Mai 2008)

Bonjour à tous,

je bosse sur un projet wxWidget au sein de XCode 3, et je souhaiterais que mon appli ait sa propre icône et non pas celle par défaut.

J'ai essayé la méthode préconisée un peu partout : ajouter icône au projet, puis dans les paramètres de la cible donner le chemin de l'icone, mais cela ne fonctionne pas, je me prends systématiquement la même icône par défaut... j'ai retenté le processus maintes fois, en changeant de méthode, de fichier, rien n'y fait.

Serait-ce un problème dû à XCode 3, à wxWidget (je sais ça n'aurait aucun sens, mais là je tombe dans l'irrationnel tellement je ne comprends pas ce qui se passe).

Merci beaucoup de votre qui sera j'espère fructueuse !


----------



## ntx (27 Mai 2008)

L'icône gérée par Xcode, cela ne doit être valable que pour un projet générant un bundle Cocoa, est-ce le cas de ton application ?


----------



## g.lebourgeois (27 Mai 2008)

Excellente question, à laquelle je répondrais que j'en doute fortement ! J'ai pas le temps de vérifier en profondeur, mais ta remarque m'a fait faire une petite recherche google :

*How do I add an icon to my wxMac application?*

_If you have Mac OS X, you have the icns editor somewhere in the Utilities folder. Create an icon using this tool and DeRez it, so that you have a .r file with a 'icns' resource with id (-16455). Include this .r file in your project and in the CodeWarrior Settings add a check mark under Linker:Output Flags/Finder Flags/Has Custom Icon._

Cette procédure me semble bizarre et désuète, et en tout cas différente de ce que j'ai pu lire jusqu'ici...


----------



## Aurélien-A (27 Mai 2008)

g.lebourgeois a dit:


> Excellente question, à laquelle je répondrais que j'en doute fortement ! J'ai pas le temps de vérifier en profondeur, mais ta remarque m'a fait faire une petite recherche google :
> 
> *How do I add an icon to my wxMac application?*
> 
> ...



Sinon utilise Cocoa pour ton interface graphique, et une interface native sur les autres plateformes. Tu pourras pas faire plus propre et intégré, tu gagneras du temps (interface builder), et tu seras pas emmerdé.   

Normalement si t'as bien séparé l'interface du reste ça devrait pas être trop dur, ni te faire perdre trop de temps  

Aurélien


----------



## g.lebourgeois (27 Mai 2008)

Malheureusement mon programme s'adresse au monde entier (pas à 5% d'utilisateurs), et je n'ai pas les ressources, ni temps, ni argent, de développer une interface native par plate-forme.

La propension des geeks à utiliser l'adjectif  "*propre*" à tout va me fait vraiment marrer, cette notion de propreté n'étant pas la même d'un individu à l'autre... et je trouve assez désobligeant de traiter de malpropre une bibliothèque comme wxWidget, qui a demandé énormément de travail à beaucoup de personnes.


----------



## Aurélien-A (28 Mai 2008)

g.lebourgeois a dit:


> Malheureusement mon programme s'adresse au monde entier (pas à 5% d'utilisateurs), et je n'ai pas les ressources, ni temps, ni argent, de développer une interface native par plate-forme..



Je comprends ce que tu veux dire, mais je vais me permettre de te reprendre sur un point: heureusement qu'il y a des "cons" qui développent pour "5% des utilisateurs", sinon on aurait pas beaucoup d'applications natives, et je pense que le mac perdrait son intérêt.

Le logiciel (iLife, Omnitruc, Final Cut, Xcode, Adium etc) c'est ce qui fait la force du mac, et je pense qu'il faut être un peu plus respectueux envers ceux qui développent pour 5% des utilisateurs, sinon on tournerait tous sous Windows.

Voilà mon point de vue.

Quant au problème évoqué par le sujet, je ne vois pas de solution là, désolé.

Aurélien


----------



## g.lebourgeois (29 Mai 2008)

Je n'ai jamais, mais Ô grand jamais critiqué les développeurs Cocoa, bien au contraire puisque je suis un fervent utilisateur de leurs applications. Je ne parle qu'en mon nom, dans ma situation, et pour *mes* développements. En l'occurrence, j'ai peu de temps, peu de moyen, et je dois produire un logiciel multi-plateforme, ce qui me prive de l'élégance d'une GUI par OS.

Cela dit, tout cela ne résout pas mon problème, comme tu le soulignes en fin de post


----------



## tatouille (31 Mai 2008)

g.lebourgeois a dit:


> Je n'ai jamais, mais Ô grand jamais critiqué les développeurs Cocoa, bien au contraire puisque je suis un fervent utilisateur de leurs applications. Je ne parle qu'en mon nom, dans ma situation, et pour *mes* développements. En l'occurrence, j'ai peu de temps, peu de moyen, et je dois produire un logiciel multi-plateforme, ce qui me prive de l'élégance d'une GUI par OS.
> 
> Cela dit, tout cela ne résout pas mon problème, comme tu le soulignes en fin de post



bonjour je ne comprend pas ton probleme, 
es ce que tu targets ton binaire wx dans un Bundle?

ci c'est le cas ce n'est peut etre qu un probleme de refresh, perso j'utilise ca sous pre-10.5


```
fs_update ()
{
touch "$1"
osascript <<EOF 
set UnixPath to "$1"
set MacOSPath to (POSIX file UnixPath) as string
ignoring application responses
    tell application "Finder" to update file MacOSPath
end ignoring
EOF
}

fs_update "$1"
```

info.plist 
<key>CFBundleIconFile</key>
<string>App.icns</string>

App.app/Contents/MacOS/App
App.app/Contents/Resources/App.icns


----------

