# Liens Interface Builder - XCode



## berfis (28 Février 2011)

Bonjour! Je débute sur XCode en ApplescriptObjC et je suis confronté au problème suivant: Je crée un nouveau projet dans XCode, il m'affiche la classe avec les deux méthodes par défaut (applicationWillFinishLaunching_ et applicationShouldTerminate_). Je clique sur mon MainMenu.xib et IB s'ouvre avec ma fenêtre vide. Si j'ajoute des éléments, tout se passe à merveille. Mon app se lance avec mon interface, c'est génial, je me dis "passons à ces IBOutlets et consorts". Mais là, ça se gâte, mon cube bleu dans IB ne mentionne pas les deux méthodes présentes dans le code. Et pas moyen d'en ajouter une autre...

Pourtant, des tutoriaux ouverts dans le même XCode fonctionnent parfaitement (leur cube bleu affiche les méthodes)...

Quelqu'un peut me dire comment m'en sortir? Cela fait deux jours que je ne trouve aucune explication... Merci d'avance!


----------



## Céroce (28 Février 2011)

IB n'affiche que les méthodes de type IBAction.

Je ne peux pas t'en dire davantage, ne programmant pas avec AppleScript.


----------



## berfis (28 Février 2011)

Bonjour Céroce...

Merci pour la réponse. En fait, ApplescriptObjC est une sorte de bridge entre Applescript et Objective-C (je fais partie de la génération FORTRAN et Pascal, et le C et ses avatars m'ont toujours rebuté, question de motivation peut-être)...

En fait, il me semble que la fenêtre d'info (clic-droit) donne les deux (Actions et Outlets) puisque j'ai pu les voir lorsque je charge un tutorial...

Je dois faire une boulette quelque part, mais si je savais où...


----------



## Céroce (1 Mars 2011)

berfis a dit:


> le C et ses avatars m'ont toujours rebuté, question de motivation peut-être)...


Le Pascal est souvent plus lisible que le C. Ceci dit, on peut écrire des programmes très lisibles en C, comme des programmes très illisibles en Pascal. 
Tu devrais te forcer un peu, les différences ne sont pas si grandes, il te faut juste un bon bouquin de référence. Le C n'est pas la panacée, mais c'est un langage très cohérent.



berfis a dit:


> En fait, il me semble que la fenêtre d'info (clic-droit) donne les deux (Actions et Outlets) puisque j'ai pu les voir lorsque je charge un tutorial...


Les Outlets ne sont pas des méthodes, mais des variables d'instance. C'est à dire que quand le fichier .nib est désarchivé, Cocoa instancie les objets qui se trouvent dans le nib et fait pointer les outlets sur ces objets.

En ObjC, pour qu'IB puisse savoir quelles méthodes sont des actions, elles doivent être précédées de IBAction. De même pour les outlets qui doivent être précédées de IBOutlet.


----------



## berfis (7 Mars 2011)

Deux semaines plus tard... et après pas mal d'échanges avec d'autres coins de planète dans la langue de Shakespeare, j'ai l'impression de parler MC68000 avec des gens du XXIIe siècle. J'ai un vrai problème, pas tant de codage que de fonctionnement de XCode/IB, qui refusent de communiquer, quel que soit le type de projet. J'ai beau réinstaller le système, vider mon fichier /Developer et re-télécharger XCode, j'ai toujours le même souci.

Chose étrange, les nouveaux XCode/IB redémarrent dans l'état précis où la version précédente (et détruite) en était restée! Or, je n'ai trouvé *nulle part* de fichier de préférence!

Quelqu'un peut-il m'aider à résoudre ce mystère (car XCode n'est pas fonctionnel ainsi)?

D'avance merci aux gourous Mac (version Unix... vous savez, celui qui entasse 114800 fichiers dans un dossier Système à 5 Gb...) et XCode!


----------



## ntx (7 Mars 2011)

Déjà pour commencer Xcode est fourni avec un désinstalleur : scripts /Developer/Library/uninstall-devtools et /Developer/Library/uninstall-developer-folder. Les as-tu utilisés ?

Ensuite, il y a des fichiers relatifs à Xcode dans /<ta maison>/Library/Application Support/Xcode et les préférences sont dans /<ta maison>/Library/Preferences/com.apple.Xcode.plist


----------



## berfis (8 Mars 2011)

Je recommence en français 

Ce que j'ai déjà fait:
- Réparé les autorisations du disque (3 fois)
- Lancé la commande sudo... depuis le terminal pour désinstaller XCode
- Détruit le dossier /Developer
- Vidé la corbeille en mode sécurisé (=30 minutes...)
- Réinstallé un nouveau XCode

Resultat:

- XCode and Interface Builder s'ouvrent dans le même état, avec leurs fenêtres exactement où elles étaient.
- Pas de lien entre XCode and IB.
- Pas le moindre fichier de préférences comme:
~/Library/Preferences/com.apple.InterfaceBuilder3.LSSharedFileList.plist
~/Library/Preferences/com.apple.InterfaceBuilder3.plist
~/Library/Preferences/com.apple.xcode.plist

J'ai l'impression qu'il manque des fichiers. Soit ils n'existent pas, soit je ne cherche pas au bon endroit, soit je n'ai pas les autorisations pour les voir... je ne vois pas d'autre solution.

Or, j'ai tenté de réparer les trois options, en réinstallant (y compris updater MacOS 10.6.6), en passant la commande "Rechercher" et en contrôlant les autorisations.

Qu'ai-je oublié, ou fait faux? Merci de faire un miracle...


----------



## berfis (21 Mars 2011)

C'est arrangé. Je cherchais à détruire le fichier de préférences pour tout remettre en état. L'idée est la bonne, mais je ne cherchais pas au bon endroit (Macintosh HD:Library:... au lieu de MonUtilisateur:Library:...).

Voilà ce que c'est d'avoir arrêté de programmer quand le Mac était encore mono-utilisateur... pfff...

Merci, "post closed" !


----------

