0

什么可以使在模拟器上运行良好的文件操作不能在 iOS设备上运行?

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

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

4

2 回答 2

0

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

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

于 2012-01-11T07:10:15.603 回答
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

于 2012-01-11T09:29:44.460 回答