我的 iPhone 应用程序(好吧,大概是这样)需要对 iPhone 的文件系统进行更改。 iPhone API 允许吗?
您的应用程序有自己的文件系统,您可以读取和写入该文件系统,但您无法访问该文件系统之外的任何内容,即您无法访问其他应用程序或操作系统本身的文件系统区域。
是的 iPhone 操作系统的 Cocoa Touch 允许文件访问。需要注意的是,它自然只允许当前用户具有读写权限的文件访问。每个应用程序都作为单个用户运行,并且实际上只能访问它自己的小文件沙箱。因此您将无法访问系统文件或其他应用程序中的文件。
您可能希望应用程序访问两个主要目录:
NSDocumentDirectory
- 类似于您自己的文档文件夹,当您同步设备时会备份该文件夹的内容。NSCachesDirectory
- 此驻留在 /Library/Caches/ 中,同步设备时不会备份。您可以使用
NSSearchPathForDirectoriesInDomains
函数获取这些目录的路径。搜索时,您将获得一组潜在路径,只要您仅在用户域中搜索,就可以安全地使用第一个路径。例如:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString* docsPath = [paths objectAtIndex:0];
一旦获得路径,您就可以使用默认文件管理器处理文件。例如删除文件:
NSFileManager* fm = [NSFileManager defaultManager];
[fm removeItemAtPath:filePath error:NULL];
我刚刚写了一篇关于如何使用 NSMutableArrays 执行此操作的教程,您可以查看该教程,这会对您有所帮助。 http://idevkit.com/iphonedev/2009/09/ saving-nsmutablearrays/
如果您还有任何疑问,请告诉我,我会补充