Créer un type de document en package
UniX
Membre
Salut le forum.
Je suis coincé sur un sujet tout bête ..... ???
Je souhaite enregistrer un document sur le disque sous forme d'un package, de façon à ce que le Finder le détecte comme un fichier et non un dossier.
Je précise que mon appli n'est pas Document based.
Dans la doc, il est indiqué qu'il faut déclarer le type de fichier dans le info.plist. C'est ce que j'ai fait, en prenant soin de cocher la case Package.
J'ai compilé, relancé le Finder, normalement à ce stade, si je créé un dossier avec l'extension déclarée dans le info.plist, il devrait apparaà®tre comme un fichier et non un dossier, non ? Là , c'est pas le cas .....
Je suis coincé sur un sujet tout bête ..... ???
Je souhaite enregistrer un document sur le disque sous forme d'un package, de façon à ce que le Finder le détecte comme un fichier et non un dossier.
Je précise que mon appli n'est pas Document based.
Dans la doc, il est indiqué qu'il faut déclarer le type de fichier dans le info.plist. C'est ce que j'ai fait, en prenant soin de cocher la case Package.
J'ai compilé, relancé le Finder, normalement à ce stade, si je créé un dossier avec l'extension déclarée dans le info.plist, il devrait apparaà®tre comme un fichier et non un dossier, non ? Là , c'est pas le cas .....
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Xcode.app est une application.
Xcode.app n'est pas dans le répertoire /Applications.
Xcode.app créé des fichiers "package".
.
J'ai déja rencontré ce genre de problème... c'est de la bidouile mais après un redémarrage et un duppliqué de l'application le Finder avait reconnu le dossier...
Je rechercherais un peu + ce soir (dans mes souvenirs...)
Je ne sait pas ce qui a été décisif, voilà ce que je fait (si ça peut servir) :
- compil en mode release
- copie de l'appli release dans Applications
- lancement de l'application
- redémarrage.
Je crois que c'est ça.
Pour que le Finder mette à jour la base des LaunchServices (base qui contient la trace de toutes les applis installées sur le système, ainsi que de leurs associations de fichiers), il faut "simuler" une installation : c'est à dire copier à partir du Finder (ou peut être seulement déplacer) le .app créé par Xcode vers un autre répertoire.
Je ne crois pas que le redémarrage soit nécessaire par contre (ou peut être uniquement le redémarrage du Finder).
.
Effectivement, le coup de les repérer à la copie ou au déplacement, c'est pas con...
Je tombe sur des trucs qui n'ont jamais été déplacés... Donc apparemment ça gère même sans simulacre d'installation. ???
Je viens de faire un projet test bidon document-based avec une extension bidon et je la retrouve dans la base juste après compilation en Debug !
Après test, un redémarrage du Finder suffit à ce que l'application reconnaisse les fichiers avec l'extension...
Et à la suppression du dossier du projet, ça met la base à jour.
Ca m'a toujours rendu très perplexe ces histoires de LaunchServices/Finder...
Du temps des System 1 à 7, il y avait l'option de reconstruction du bureau (je ne me souviens plus du raccourci-clavier à faire au démarrage). Mais maintenant...
Quoi qu'il en soit, un début de réponse se trouve dans le chapitre consacré à Launch Services (Launch Services Concepts - Registering Applications) :
Il y est expliqué que l'enregistrement d'une application se fait :
- explicitement via la fonction LSRegisterFSRef (ce que Xcode fait peut être...).
- automatiquement à chaque ouverture de session pour les applis présentes dans les répertoires d'applications conventionnels (ceci confirme ce que tu disais dans ton premier message).
- via le Finder dès qu'une opération mettant en scène l'appli apparait.
.
"pomme + alt", "shift" servant à faire un démarrage sans extensions... C'est vieux !Â
Maintenant, apparemment c'est comme ça...
(apparemment, c'est assez rapide...)
Pffff, oui, ça nous rajeunit pas .... :P