Mà J du Finder pour afficher les packages
Céroce
Membre, Modérateur
Pour une fois, je pose une question. Voici mon problème:
Je cherche à enregistrer mes documents sous forme de packages. Info.plist de l'appli indique bien que ce type de document est un package. Le problème, c'est que sont créés des dossiers normaux. Du moins ils apparaissent comme tels sous le Finder.
Ce que je subodore: la version précédente de mon appli utilisait déjà la même extension ".marquise" pour les documents, qui n'étaient pas encore des packages. À mon avis, le Finder n'a pas "reconstruit le bureau".
Savez-vous comment je pourrais l'y forcer ?
Savez-vous comment je peux savoir si le dossier est bien marqué "Package" ? Une petite commande Unix, par exemple.
Merci d'avance.
Je cherche à enregistrer mes documents sous forme de packages. Info.plist de l'appli indique bien que ce type de document est un package. Le problème, c'est que sont créés des dossiers normaux. Du moins ils apparaissent comme tels sous le Finder.
Ce que je subodore: la version précédente de mon appli utilisait déjà la même extension ".marquise" pour les documents, qui n'étaient pas encore des packages. À mon avis, le Finder n'a pas "reconstruit le bureau".
Savez-vous comment je pourrais l'y forcer ?
Savez-vous comment je peux savoir si le dossier est bien marqué "Package" ? Une petite commande Unix, par exemple.
Merci d'avance.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
As-tu déjà essayé de déplacer ton dossier autre part puis de le remettre à l'endroit initial ? En général cette simple manipulation impose au Finder de revérifier le Info.plist quitte à mettre à jour les infos sur la base de son contenu.
Sinon je connais la commande "SetFile" pour modifier les attributs d'un fichier ou dossier, entre autres l'attribut "Bundle" qui est celui qui t'intéresse. Il y a apparemment la commande "GetFileInfo" qui est son pendant pour interroger les attributs au lieu de les "setter". Tu pourras ainsi voir si un "GetFileInfo" sur ton fichier t'indique dans le résultat un B majuscule (bundle=YES) ou minuscule (bundle=NO)
Et enfin, je crois que dans NSFileManager ou NSWorkspace ou dans les parages, il y a une méthode permettant de demander au Finder de forcer à mettre à jour ses infos pour un fichier donner... à creuser.
J'avais déjà essayé la première manip, sans succès (souvenir d'un vieux vieux message "avec la réponse d'Hoksitan " c'est dire s'il est vieux).
J'ai essayé un dernier truc avant d'appliquer ton message. Et ça marche. Le voici:
- J'ai zippé la vieille version
- J'ai mis l'appli vieille version à la corbeille
- j'ai vidé la corbeille.
À vrai dire, j'aurais dû m'en douter. Il y a forcément un conflit entre les deux versions. L'une était la Béta 1, et l'autre la Béta 2, je ne sais pas si le Finder sait bien voir quelle est la plus récente.
Sinon, j'ai quand même essayé GetFileInfo: ça n'a pas l'air de pouvoir dire si c'est un package. De plus, mon package est sur bureau et le bit D n'est pas positionné. Bizarre, tout ça.
Merci beaucoup de ton aide !
Et effet, il m'est déjà arrivé d'avoir par exemple deux versions d'une même appli, et
1) lorsque je double-clique sur un document de cette appli, c'est toujours la dernière version qui est utilisée pour ouvrir le doc, même si j'ai installé l'ancienne version après la plus récente
2) lorsque je demande "Ouvrir avec..." dans le menu contextuel, il me propose les applis sachant ouvrir ce document, dont mes deux versions de mon appli, pour lesquelles il indique la version entre parenthèses derrière, voyant justement qu'il y a deux applis du même nom et avec le même bundleID (alors que pour les autres applications proposées pour lesquelles je n'ai qu'une version, qui n'est alors pas mentionné dans ce menu contextuel)
Don je reste perplexe... en même temps le Finder gère sans doute pas mal d'atributs avec les versions, mais l'info qu'un type est associé au mode Bundle est peut-être une exception... (pas malin d'avoir gardé la même extension alors que ce n'est pas le même format :P)
ça n'a pas d'importance, la distribution de la béta ayant été des plus confidentielles...
Et puis maintenant que je n'utilise plus Core Data, je vois Cocoa en rose.