目标C:以编程方式将文件写入主程序包

时间:2011-02-18 19:58:55

标签: cocoa-touch ios file bundle

  

可能重复:
  Writing into a file objective c

如何创建文件并将其写入文件包?我有这个:

//make path to file
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,    NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"usnews.txt", [sharedManager.articleNumber intValue] + 1]];
//write file
[textContent writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

但它会将其写入文档文件夹,并在应用关闭时删除。

2 个答案:

答案 0 :(得分:5)

您无法在iOS上写入主要捆绑包。其内容以加密方式签名,作为App Store提交过程的一部分;修改其内容会阻止应用程序运行。

应用关闭时不应删除文档。尝试传入NSError以接收写入时的错误消息。此外,您确定该文件是否写入您认为的位置?您可以使用它作为文件名:

[NSString stringWithFormat:@"usnews.txt", [sharedManager.articleNumber intValue] + 1]

但是你没有%d格式说明符,所以这个数字永远不会插入到文件名中。

答案 1 :(得分:0)

我很确定你能。写入Resources文件夹不是禁止的。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"File" ofType:@"txt"];

但据我所知,根据Apple文档

,这不是一个好的行为