1

I'm writing a little piece of code in which I should detect if an NSURL contains a symbolic link (i.e., symbolic file components other than the last one should also be detected). To do this, I confront the NSURL itself with the NSURL returned by -URLByResolvingSymlinksInPath. The problem is that this method seems to return all symbolic links in lowercase. Is there another way to solve this problem?

Mike Abdullah
  • 14,782
  • 2
  • 47
  • 73
Nickkk
  • 1,891
  • 1
  • 20
  • 31

2 Answers2

4

You can traverse symlinks manually:

  1. Detect symbolic link using -[NSFileManager attributesOfItemAtPath:error:] and in key NSFileType search for NSFileTypeSymbolicLink value.

  2. Get destination path using -[NSFileManager destinationOfSymbolicLinkAtPath:error:] and append them.

Repeat this for every path component.

Tricertops
  • 8,414
  • 1
  • 37
  • 41
0

Either I really did something wrong or this bug was fixed with the latest Mountain Lion update. Now all symlinks are correctly resolved.

Nickkk
  • 1,891
  • 1
  • 20
  • 31