iOS:我无法写我的文件

时间:2012-06-13 13:53:14

标签: objective-c ios file

我想在我的iPhone应用程序上写一个文件。我的文件位于我项目的文件夹中,但当我尝试访问它时:

NSString *myFile = [[NSBundle mainBundle] pathForResource:@"myFile" ofType:@"txt"];
NSLog(@"%@",myFile);

我得到以下路径:

  

2012-06-13 17:36:56.398 MyFileApp [610:15203] / Users / Damian / Library / Application Support / iPhone Simulator / 5.1 / Applications / 1FFD4436-DCCA-4280-9E47-F6474BEE0183 / MyFileApp.app / MYFILE.TXT

为什么?

感谢您的建议

2 个答案:

答案 0 :(得分:11)

你问:

  

为什么?

这就是那条路,因为那是存储文件的地方。

在设备上会有所不同。

请注意,无论如何都无法将文件写入该文件夹。您也许应该写入应用程序的文档文件夹:

//Get the documents folder
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];

//Get the final path of your file.
NSString *finalPath = @"myfile.txt"];    
//And actually write that file.
[[NSFileManager defaultManager] createFileAtPath:finalPath contents:/*fileData as NSData*/ attributes:nil];

答案 1 :(得分:1)

如前所述,您无法在实际设备上写入主捆绑包。

对于你的另一个问题:

当您在模拟器中运行应用程序时,xcode会将您的项目复制到库目录中的文件夹..在您的情况下:

/ Users / Damian / Library / Application Support / iPhone Simulator / 5.1 / Applications /

您在模拟器中运行的每个应用都有一个文件夹。应用不会在您实际编辑代码的文件夹中运行。