私のアプリケーションがクラッシュしたと仮定すると、その時点でapplicationWillTerminate
関数が呼び出されます。その関数では、クラッシュ ログ ファイルを一時ディレクトリに保存したいと考えています。その時点でアプリが起動されると、クラッシュレポートファイルを 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