文件操作无法在设备上运行

时间:2012-01-10 19:29:51

标签: ios file-management

什么可以使文件操作在模拟器上运行良好,而不是在iOS 设备上工作?

使用[NSBundle mainBundle]时,FileManager找到了文件,相邻文件操作产生不同结果的原因可能是什么?

我有时会注意到这一点,只是想知道发生这种情况时应该考虑什么。

2 个答案:

答案 0 :(得分:0)

正如@Aadhira在上面的评论中所说,模拟器将其文件存储在Mac上的一堆文件夹中,而不是存储在某种模拟的主bundle / docs目录沙箱中。

为了从主包中获取静态文件,您必须创建一个从[NSBundle mainBundle]开始的路径,并在其上添加路径组件。

答案 1 :(得分:0)

好像您正在尝试读取应用程序包中的文件。您可以通过代码获取其路径:

NSString * filePath = [[NSBundle mainBundle] pathForResource:@“fileName”ofType:@“ext”]; //然后你可以使用NSFileManager来读取/复制它

应用程序包中的所有文件都是只读的。您可以从这里获得更多信息:

http://developer.apple.com/library/ios/#documentation/CoreFoundation/Conceptual/CFBundles/AccessingaBundlesContents/AccessingaBundlesContents.html#//apple_ref/doc/uid/10000123i-CH104-SW8