2011-06-30 13 views
0

私はXcode 4で作業しています。テストを実行するたびにiphone 4アプリケーションでファイルに行を追加したいと思います。これを行うための速い方法はありますか?もしそうなら、正確にどこでiphoneディレクトリ階層内に書き込むことが許されていますか?Xcode 4のファイルにどのように追加することができますか?ファイルはどこに配置する必要がありますか?

ありがとうございました。

+0

あなたは今まで戻って、このデータを読み取る必要がありますか?私は配列のアーカイブのようなものを提案しようとしていましたが、それは成長を続け、最終的には新しいエントリーを追加するためにすべてを読み込むと、愚かな量のメモリーを使うことができます。 – Katfish

答えて

4

iPhoneアプリケーションのバンドル内に書き込むことはできません。これは、暗号化を破るためです。 Documentsディレクトリ、または<apphome>/Libraryの下のどこかに書き込むことができます。 Libraryの下にファイルを追加することが優れている、あなたはInfo.plistUIFileSharingEnabledを追加する場合Documents以来

は、iTunesのユーザーのために目立つことがあり、これは、アプリケーションにプライベートファイルです。それはテスト中に大したことではありません。アップルの関連ドキュメント:Technical Q&A QA1699: Storing Private DataA Few Important Application Directories

あなたはファイルにテキストを追加するiPhoneアプリケーションでこのコードを使用することができます。

// get path to Documents/somefile.txt 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"somefile.txt"]; 

// create if needed 
if (![[NSFileManager defaultManager] fileExistsAtPath:path]){ 
    [[NSData data] writeToFile:path atomically:YES]; 
} 

// append 
NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath:path]; 
[handle truncateFileAtOffset:[handle seekToEndOfFile]]; 
[handle writeData:[@"line of text\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
関連する問題