(macruby 構文のコード例)
次の URL を作成する場合:
u1 = NSURL.fileURLWithPath('/tmp')
次に、シンボリックリンクが解決された URL の作成を試みます。
u2=u1.URLByResolvingSymlinksInPath
/tmp に戻ります:
irb(main):010:0> u2.pathComponents
=> ["/", "tmp"]
この NSURL (または /var または /etc) で NSDirectoryEnumerator を作成し、NSURLParentDirectoryURLKey をプリフェッチすると、返される NSURL のパスが /private/tmp/... になるため、これは問題です。
NSDirectoryEnumerator のルートに相対的なディレクトリ パスのコンポーネントを取得する必要があります。私が知っている特殊なケース (これまでのところ /tmp、/var、および /etc) のハードコーディングされた検出以外に、これを行うための堅牢な方法はありますか?
URLByResolvingSymlinksInPath が機能しない他の「特別な」ディレクトリを知っている人はいますか?