2010-01-20 66 views
1

有沒有人知道在運行xcodebuild(主要是項目目錄)時如何獲取當前目錄的路徑並將文件寫入它?我試圖從我的obj-c代碼中將一些單元測試的結果保存到磁盤,但如果可能的話,我寧願不將它們轉儲到應用程序的文檔路徑中。我可能能夠將'../../ ..'等追加到文檔路徑中,但我希望可能會有更優雅的方法。從命令行運行xcodebuild時,如何寫入iPhone SDK中的當前目錄?

*這隻與模擬器相關,當然......但也許模擬器甚至試圖維護iPhone文件系統沙箱?我沒有運氣寫信給我的Mac上的其他隨機位置,所以我懷疑可能是這樣。

感謝您的輸入!

回答

0

我想通了 - 答案是尷尬簡單。強調「尷尬」。

如果您使用諸如NSString的writeToFile方法之類的東西,您所需要做的就是將您的路徑視爲相對於您運行xcodebuild的位置 - 無需NSSearchPathForDirectoriesInDomains。

實施例:

(如果在〜/ SRC/awesomeapp運行)

[myString writeToFile:@"awesome.file" atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

將輸出到: 〜/ SRC/awesomeapp/awesome.file

是的,我的白癡。我實際上嘗試這第一,但我試圖寫入一個不存在的相對目錄,從而導致無用的「不能這樣做」的風格錯誤,導致我所有的互聯網,並最終到stackoverflow ... (您需要使用FileManager#createDirectoryAtPath!不幸的是,沒有自動路徑創建。)

僅供參考,如您應該清楚的那樣,您可以自由地在通過xcodebuild運行時隨意在硬盤上編寫文件 - 發生。如果你在模擬器中運行,它可能是一個不同的故事。