IOS沙盒Files目录说明和常用操作

Ios沙盒目录清单

1 Documents

用于存储用户生成的文件、其他数据及其他程序不能重新创建的文件,默认文件通过iCloud自动备份。如果不需要iCloud备份,则设置标记

NSURLIsExcludedFromBackupKey,注明不备份

1.1 读取Documents目录代码

NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString*path = [paths objectAtIndex:0];

NSLog(@"path:%@", path);

1.2 标记不备份文件

+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL

{

assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);

NSError*error =nil;

BOOL success=[URL setResourceValue: [NSNumber numberWithBool: YES]

forKey: NSURLIsExcludedFromBackupKey error:&error];if(!success){

NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);

}returnsuccess;

}

2.Library

存储项目缓存,常用设置等

2.1 读取Cache目录代码

NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

NSString*path = [paths objectAtIndex:0];

NSLog(@"%@", path);

2.2 读取Library目录

NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString*path = [paths objectAtIndex:0];

NSLog(@"%@", path);

3 temp

只是临时使用的数据应该保存到 /tmp 文件夹。尽管 iCloud 不会备份这些文件,但在应用在使用完这些数据之后要注意随时删除,避免占用用户设备的空间

3.1读取temp文件夹

NSString *tmpDir =NSTemporaryDirectory();

NSLog(@"%@", tmpDir);

4 项目自带的.bundle资源束

项目自带的资源存放在.bundle中这些资源只读不能写

NSString*defaultDBPath = [[NSBundlemainBundle]resourcePath];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容