2012-05-07 35 views
1

我有一個NSLog調用,它顯示了我在我的程序中使用NSFileManager的當前目錄。當我運行我的應用程序獨立時,爲什麼我的「當前目錄」以root(「/」)列出?

當運行我的Xcode應用程序,我的「當前目錄」顯示爲:

/Users/gsteiner/Desktop/Program Code/Band Manager/build/Debug 

這是預期的,因爲它是編譯的應用程序的位置。但是,如果我然後去取景器,雙擊編譯的應用程序,它位於上述路徑,當前目錄顯示:

/ 

,或者根目錄。

我原以爲「當前目錄」是包含應用程序的目錄,但顯然情況並非如此。

任何人都可以啓發我爲什麼這是?它是一種錯誤類型,還是它應該在應用程序啓動時的方式。如果是這樣,那麼尋找編譯應用程序所在目錄的最佳方法是什麼?

謝謝!

回答

3

iOS的安全機制和應用程序沙箱之一是將每個應用程序的工作目錄設置爲其根目錄。這樣,任何應用程序都不能訪問另一個應用程序的目錄/資源(並且肯定不能訪問系統工具)。

查看this document瞭解更多相關知識。

+0

謝謝。開始懷疑這一點。找到另一個線索,我可以使用它來查找目錄。我只是抓住了應用程序包的路徑,然後剝離了最後一個組件,留下了應用程序目錄的路徑。謝謝! –

相關問題