假設我的應用程序崩潰意味着當時applicationWillTerminate
函數被調用。在那個函數中,我想將崩潰日誌文件保存在臨時目錄中。 當應用程序啓動時,我想通過編碼從iOS設備上傳崩潰報告文件到我的服務器位置。如何在ios應用程序中存儲崩潰日誌文件?
我正在使用此代碼保存崩潰日誌文件。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
但此代碼將在模擬器中工作。我可以看到這個文件在
/Users/UserNAme/Library/Application Support/iPhone Simulator/6.0/Applications/xxx-yyy-sss--eee/Documents/console.log
但我找不到這個文件在iOS設備。
注: 尋找在iOS設備上的文件我用iExplorer
當然是使用這個應用程序TestFlightApp的deveoper,s和測試者的測試目的。在這裏,我只想將該崩潰文件發送到特定的郵件ID。 – Senthilkumar 2013-03-18 11:08:55
上面的答案仍然是點。如果你需要自己處理崩潰報告,你將不得不自己生成它。絕對沒有辦法擺脫沙盒,並從設備中獲取操作系統版本的崩潰報告。唯一的另一種選擇是手動或者使用iTunes或Xcode將其從設備中取出,但我認爲您希望爲現場放置的設備而不是開發設備執行此操作。此外,大多數託管解決方案可以用於現場以及測試應用程序。 – gaige 2013-03-18 12:00:22