(MacRubyの構文のコード例)/tmp、/ varに対してNSURL.URLByResolvingSymlinksInPathが機能しません。回避策はありますか?
私はURLを作成する場合:
u1 = NSURL.fileURLWithPath('/tmp')
、その後解決シンボリックリンクでURLを作成しよう:
u2=u1.URLByResolvingSymlinksInPath
私は/バックTMPを取得:
irb(main):010:0> u2.pathComponents
=> ["/", "tmp"]
この問題は、NSDirectoryEnumeraこのNSURL(または/ varまたは/ etc)を持っていて、NSURLParentDirectoryURLKeyをプリフェッチすると返されるNSURLはパス/ private/tmp /を持ちます...
私は相対的なディレクトリパスのコンポーネントを取得する必要がありますNSDirectoryEnumeratorのルート。私が知っている特殊なケース(これは/ tmp、/ var、/ etcなど)のハードコードされた検出以外に、これを行う堅牢な方法はありますか?
は、他の「特別な」ディレクトリを認識して、誰がどのURLByResolvingSymlinksInPathは動作しませんか?
これを見つけるのはあなただけではありません。 :-) - "[NSURL(symlinkAdditions)URLByReallyResolvingSymlinksInPath]" のFinal Cut Pro Xでは、アップル自身が呼ばれる回避策メソッドを持っています –