2013-10-31 35 views
0

我正在開發帶有Xcode 4.6的iPad應用程序。爲了收集在調試過程中對應用中的一些關鍵信息,(真正的iOS設備),我把一些數據在一個文本文件,一個例子可以用下面的代碼來證明:如何在ios設備上打開在ios應用程序調試期間創建的txt文件

std::ofstream f; 
    f.open("test.txt",std::ios::out) ; 
    for (int i=0;i<100;i++) 
    { 
     f << i << std::endl; 
    } 
    f.close() ; 

運行後該應用程序,我想檢查test.txt中的數據,但是,我不知道如何找到它。 This post似乎很有幫助,但我無法按照他的指示找到Application Data

+1

你爲什麼不制定一個適當的日誌類,並用它在整個的生命週期你應用程序嗎? – trojanfoe

+0

@trojanfoe感謝您的評論,這對我來說有點複雜。我收集的數據將被視爲另一個軟件包的輸入,然後我將分析數據。 – feelfree

+0

你是在真正的iOS設備上還是在模擬器上這樣做?您如何訪問文件取決於答案。 – rmaddy

回答

1

您將需要設置輸出文件的完整路徑,默認情況下當前工作目錄將是應用程序包目錄,您無法寫入(您沒有在打開的文件中指定完整路徑聲明,所以它將使用cwd)。因此,如果您希望它出現在應用程序的文檔目錄中,則需要使用Objective-C(或Objective-C++)獲取該文件,並將該路徑傳遞給您發佈的C++方法。

我會建議使用Objective-C++,讓你的編程語言混合(改變文件擴展名來.mm):

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
std::string docDir = [paths[0] UTF8String]; 
std::ofstream f; 
f.open(docDir + "/test.txt", std::ios::out); 
for (int i=0;i<100;i++) 
{ 
    f << i << std::endl; 
} 
f.close(); 
相關問題