在应用程序包中创建一个文件

时间:2012-02-07 15:44:08

标签: ios file bundle nsdata

我的应用程序根据iTunes资料库中的歌曲创建NSData。我不想把它写到捆绑包中的文件(文件不存在)。如何在那里创建文件?

3 个答案:

答案 0 :(得分:4)

stavash是对的;你无法保存到捆绑包。要保存到文档目录,请执行以下操作:

NSString *documentsDir = (NSString *)[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *pathForFile = [documentsDir stringByAppendingPathComponent:fileNameString];

[songData writeToFile:pathForFile atomically:YES];

然后恢复文件的内容:

NSData *songData = [[NSData alloc] initWithContentsOfFile:pathForFile];

答案 1 :(得分:3)

就像stavash所说,捆绑是只读的。您可以将其保存到文档目录中。这是一个例子:

NSString *root = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [root stringByAppendingPathComponent:@"yourfilename.ext"];
[yourFileData writeToFile:filePath atomically:NO];

答案 2 :(得分:1)

您无法写入捆绑包。考虑将其存储在文档目录中。