Wie erkenne ich einen symbolischen Link?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie erkenne ich einen symbolischen Link?

    Diese Frage klinkt sicherlich banal, aber wie kann ich in Cocoa herausbekommen, ob ein Pfad einen symbolischen Link darstellt?

    Dazu folgende Situtation: Ich erstelle im Finder (OSX 10.2.1) einen Link, und benutze NSFileManger fileAttributesAtPath:traverseLink: (traverseLink nat¸rlich auf NO), um die File Attribute zu erhalten.

    Im Feld NSFileType sollte man nun auslesen kˆnnen, dass es sich um den Typen NSFileTypeSymbolicLink handelt. Steht dort aber nicht. Stattdessen erfahre ich, es handle sich um NSFileTypeRegular - auch bei Links auf Directories.

    Auch wenn ich im Terminal ls -l eingebe, wird der Link dort falsch (als File)dargestellt.

    Das Problem tritt nur auf, wenn ich den Link im Finder erstelle, im Terminal erstelle Links funktionieren einwandfrei!

    Weiss jemand Rat?
  • RE: Wie erkenne ich einen symbolischen Link?

    Wenn Du einen "Link" im Finder erstellst, erh‰ltst Du keinen symbolischen link, sondern ein Alias. Die Unix Seele von Mac OS X hat leider keine Ahnung von Aliasen und behandelt Sie wie Files. (Sind sie eigentlich auch. Einfach nur ein File mit einer Resource Fork.)

    Cocoa basiert ja wesentlich auf der "Unix Seele" von OS X und kann leider auch nochnicht mit Aliasen umgehen. Dazu mufl man auf Carbon Funktionen zur¸ckgreifen. Zum Gl¸ck haben sich andere schon gedanken dr¸ber gemacht:

    cocoa.mamasam.com/COCOADEV/2001/10/1/14930.php

    Der Thread ist ganz interessant.

    - Titan =)
    - Titan =)

    "In theory, there is no difference between theory and practice.
    But in practice, there is."
    - Jan L.A. van de Snepscheut