2014-02-20 29 views
0

剛剛得到了一個-1作爲我如何獲取文檔目錄的答案。我總是這樣做:iOS文檔目錄在路徑方法中展開波浪號

NSString *documentsPath = [@"~/Documents" stringByExpandingTildeInPath]; 

它始終如我所願地工作。這種方法有沒有真正的水下岩石?

+0

我想 '文檔' 可以被認爲是硬編碼。儘管我相信它的工作時間是+99% – Merlevede

+0

@Merlevede否,它的工作時間是'100%'。這比編寫搜索文檔目錄的例程更方便。它並不真的「感覺」是正確的,但它確實完成了很好的工作 – Eugene

+1

我相信你。嚴格來說,爲了可靠,它必須被記錄下來,必須有一個地方說它的文檔目錄總是被稱爲'Documents' – Merlevede

回答

1

不,它並不總是工作。如果您的應用程序正在沙箱中運行(應用程序商店需要),您將無法獲取真實的文檔目錄。

我只是做了一些試驗,下面是我得到:

/Users/<user-name>/Library/Containers/<app-name>/Data/Documents 

但我真正的文件foder是

/Users/<user-name>/Documents 
0

正確的方法來調用:NSSearchPathForDirectoriesInDomains()

由於蘋果文檔狀態:

爲 指定的域創建指定目錄的路徑字符串列表。該列表按您應該搜索 目錄的順序排列。如果expandTilde爲YES,則波浪線展開爲stringByExpandingTildeInPath中描述的 。

實施例:

NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)