2011-05-15 59 views
1

我有一個奇怪的故障使用下面的代碼爲什麼currentDirectoryPath在IDE下返回不同的結果並且沒有它?

NSString * pth = [[[NSFileManager defaultManager] currentDirectoryPath] copy]; 

如果代碼下IDE它工作正常運行,我有PTH這樣

/用戶/用戶/桌面/ iShutdown /構建/發佈

但是,如果我沒有IDE簡單的啓動我的獨立的應用程序 運行代碼,我在日誌中看到,PTH只包含「/」

爲什麼?如何在獨立模式下獲得相同的結果?

回答

0

最初的工作目錄將取決於應用程序的啓動方式,因此您不應該對此做出任何假設。對於Finder啓動它通常會/如你所見,而對於Xcode啓動它通常是與可執行文件相同的目錄(儘管你可以在可執行文件的設置中更改它)。儘管有各種其他啓動應用程序的方式,例如,從命令行,所以最初的工作目錄可以是用戶想要的任何東西。

如果您只是想找到某個特定的文件,它位於相對於您的應用的特定位置,例如,一個數據文件,你的應用程序需要,那麼你應該得到你的應用程序包的路徑並使用它,而不是工作目錄。

+0

感謝您的解釋。所以,請以正確的方式指出我 - 如何獲得應用程序包的路徑? – 2011-05-15 09:47:30

+1

所以,我找到了解決方案:[[NSBundle mainBundle] bundlePath] – 2011-05-15 09:58:48

相關問題