Créer un "Finder Alias File"?

tabliertablier Membre
13:31 modifié dans API AppKit #1
Sous cocoa (objective-C), je ne trouve aucun moyen pour créer un "Finder Alias File" !!  :-\\
De même sous Carbon ou core fondation je ne trouve rien pour faire cela!!!
Apparemment c'est le Finder qui crée les fichiers Alias et le seul moyen d'en fabriquer est de s'adresser au Finder par un script ou par un Apple Event (beurk).

Je me plante ou j'ai raté quelque chose?

Réponses

  • schlumschlum Membre
    13:31 modifié #2
    Carbon power...

    http://developer.apple.com/documentation/Carbon/Reference/Alias_Manager/Reference/reference.html

    Le Finder est codé en Carbon, faut pas l'oublier  :P
  • tabliertablier Membre
    13:31 modifié #3
    Eh oui! je sais  :P . Mais dans l'Overview de "Alias Manager Reference" la dernière phrase du premier paragraphe est :
    The Finder supports the creation and use of alias files that contain alias records. Currently, Mac OS X does not provide a way for other applications to create these alias files. The Alias Manager can identify and resolve Finder alias files, but it cannot create them.
    Apparemment un "Finder Alias File" contient un "alias record".  Je sais créer un "alias record" en partant d'une FSRef avec la fonction FSNewAlias(). Oui, mais je n'ai pas trouvé d'explication pour créer le "Finder Alias File" en partant de l'alias record! 
    Il suffit de sauver le record dans un fichier?
  • schlumschlum Membre
    13:31 modifié #4
    ça m'étonnerait... Un Finder Alias est un fichier de ressources pure.
  • orfaitorfait Membre
    13:31 modifié #5
    Tu peux regarder NDAlias si tu cherches des solutions ou simplement de l'inspiration.
  • tabliertablier Membre
    13:31 modifié #6
    Effectivement, il semble y avoir là  des informations interressantes. Je vais lire la doc et examiner les sources de NDAlias.
    Enfin, je pourrai toujours me rabattre sur Applescript:  make new alias .... etc.

    >:D SVP, ne rigolez pas!! j'ai voulu examiner un fichier alias. Eh bien, la plus part des utilitaires d'examen (Resorcerer, Hexedit, ...) traverse l'Alias et ouvre l'original! ça m'a pas beaucoup aidé!!
  • schlumschlum Membre
    juillet 2008 modifié #7
    ;D Te reste la ligne de commande...

    cat <chemin de l'alias>/..namedfork/rsrc > aliasrsrc

    (mais c'est vraiment pas beau à  voir...)
  • AliGatorAliGator Membre, Modérateur
    13:31 modifié #8
    ... | hexdump
    
    non ? ;)
    (Quoi, c'est pas plus joli à  voir ?  :))
  • tabliertablier Membre
    13:31 modifié #9

    Tu peux regarder NDAlias si tu cherches des solutions ou simplement de l'inspiration.
    C'est exact, il y a là  dedans tout ce qui m'interresse!!
    Mais c'est assez ancien (2001) et je n'ai pas réussi à  le compiler! J'ai même eu des erreurs que je n'avais jamais vus (jam je ne sais pas quoi....).
    ;) Pour info:
    Pour faire un "Finder Alias File" il faut:
    faire un alias record:  FSPathMakeRef    FSNewAlias (ou FSNewAliasMinimal)
    Utiliser le Resource Manager pour créer un 'fork resource' qui contient l'alias record.
    Sauver ce Fork resource dans un fichier
    Modifier les attributs du fichier pour qu'ils correspondent à  un "Finder Alias File"
  • orfaitorfait Membre
    13:31 modifié #10
    Etrange... NDAlias compile parfaitement et est tenu à  jour (pour preuve le support de GC).
  • tabliertablier Membre
    juillet 2008 modifié #11
    Exact, et la compilation ne plante pas sous 10.5.  Oui, mais je suis sous 10.4 avec Xcode 2.5 et là  ce n'est pas chouette.
    J'ai Notament une erreur: Command/Developer/private/jam failed with exit code 1
    que je ne comprend pas vraiment!!
    Enfin, ça marche sous 10.5, je vais aller chez un copain qui l'a, et extraire les parties de code qui m'interressent.
Connectez-vous ou Inscrivez-vous pour répondre.