2011-11-01 11 views
7

私のiPhoneのテキストファイルに自分のログを書きたいと思っています。文字列をファイルに書き込むクイックメソッドを書きました。今は、それをドキュメントディレクトリに保存しています。デバイス上にあれば、私はそれを閲覧するだけでは不便です。私はそれを書いた後、デバイスからすぐにこのファイルを取得する良い方法はありますか?Objective-C:デバイス上にテキストファイルを作成し、簡単にファイルを取得します。

/** 
* Logs a string to file 
* 
* @version $Revision: 0.1 
*/ 
+ (void)logWithString:(NSString *)string { 

    // Create the file 
    NSError *error; 

    // Directory 
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; 
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"log.txt"]; 

    // Get the file contents 
    NSData *localData = [NSData dataWithContentsOfFile:filePath]; 
    if (localData) { 
     NSString *logString = [[NSString alloc] initWithData:localData encoding:NSUTF8StringEncoding]; 
     string = [logString stringByAppendingFormat:@"%@\n", string]; 
     [logString release]; 
    } 

    // Write to the file 
    [string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

}//end 
+0

サイドノート - ログファイルが約500KBほど大きくなると、これは本当に非効率になります。 (他のAPIを使用して)変更を書くことのみを考えてください。 – FeifanZ

答えて

10

Xcodeでアプリケーションのターゲットのビルド情報にApplication supports iTunes file sharingを追加

enter image description here

+0

私はテスト機能としてこれが好きです。 Definite +1 –

+0

パーフェクト!これは私が探していたものです。私は彼のことを知っていましたが、私はこの目的のために使うことができないことを忘れていました。ありがとう! –

0

これまでに作成したログの数をキャプチャし、それに偏ったログごとに新しい名前を作成する必要があります。

最後に作成されたログ名をNSUserDefaultsの文字列として保存し、その末尾の番号を取得して、次の名前の準備ができたintに追加します。

ですから、「Log4」@持っている場合は、そのうちの4を取得することができますし、次のログが

ちょうど私の2セントの「Log5」と命名されるように、その5作る:に関してはP

+0

ええ、アプリでプロセスを開始するたびに新しいログを作成します。 –

0

質問の「ファイルを取得する方法」の部分に

iExplorer、以前のiPhone Explorerでは、あなたのデバイスをjailbreakingせずにドキュメントフォルダを含むあなたのアプリケーションを表示することができます。

私の経験では(古いバージョンではあるが)、電話からファイルを取得することは少し時間がかかることがあります(つまり、ファイルを自分のデスクトップにドラッグしてファイルを作成しますが、データ)、あなたのデバイスからファイルを取得することができます。右Devices > Your device > Apps > File Sharingの下で、

enter image description here

次に、あなたが簡単に検索、閲覧することができますとiTunesからアプリによって作成されたファイルをすべて削除します:

関連する問題