0
我正在使用Xcode 4,我希望我的iPhone 4应用程序每次运行测试时都会在文件中附加一行。有没有快速的方法来做到这一点?如果是这样,我准确地在iphone目录层次结构中写入了什么?如何追加到Xcode 4中的文件以及文件应放在哪里?
谢谢。
我正在使用Xcode 4,我希望我的iPhone 4应用程序每次运行测试时都会在文件中附加一行。有没有快速的方法来做到这一点?如果是这样,我准确地在iphone目录层次结构中写入了什么?如何追加到Xcode 4中的文件以及文件应放在哪里?
谢谢。
您不能在iPhone应用程序包内写入内容,因为这会破坏加密。您可以在Documents
目录中或在<apphome>/Library
下的某处写入。如果您添加UIFileSharingEnabled
你Info.plist
,这是对应用程序的私人文件,下Library
是更好的添加文件
由于Documents
可能成为iTunes的用户可见。在测试过程中并不重要。 Apple相关文档:Technical Q&A QA1699: Storing Private Data,A 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]];
你是否需要阅读本的数据?我打算建议像归档数组这样的东西,但这只会不断增长,并且最终加载一个新的条目可能会占用很少的内存。 – Katfish