我正在研究Coda的插件,並且在嘗試將文件路徑與sqlite行進行比較時遇到了一個奇怪的問題。如何獲取文件路徑的完整路徑(包括安裝目錄)?
基本上,NSOpenPanel返回返回這樣的路徑的NSURL:
/Users/michael/Documents/xcode stuff/hM github/Plugin/filename
而且科達返回當前文件的路徑,因爲這:
/Volumes/Macintosh HD/Users/michael/Documents/xcode stuff/hM github/Plugin/filename
我需要能夠檢索源碼行綁定到此文件(最初在用戶通過NSOpenPanel選擇文件時創建的),從Coda獲得路徑。
有沒有辦法獲得文件的實際完整路徑,包括卷信息? 或者,是否有更好的方式來存儲對文件的引用,而不管給定的路徑如何,這個文件可以很容易地被檢索到?
更新
我已經意識到,科達會修改,這樣你可以不依賴於文件的inode編號保持一致的方式保存的文件,所以trojanfoe的回答不會爲我工作。
你是對的,我正在向後看問題。解決方案其實很簡單: NSURL * url = [NSURL fileURLWithPath:somePath]; url = [NSURL URLWithString:[url absoluteString]]; NSString * newPath = [[url URLByResolvingSymlinksInPath] path]; – mjvotaw
啊,是的,甚至更好。 – JeremyP