iOS沙盒机制的基本操作总结

每个ios程序都有自己的沙盒(sandBox),ios8之后提供沙盒部分开放

我们可以访问沙盒下的文件夹

文件夹包括:

1,documents:保存应用运行时生成的需要持久化的数据

2.tem:保存临时数据,系统重新启动自动消失

3.library:存储的程序默认的设置和其他信息

4.library/caches:保存临时文件

5.library/Preferences:保存偏好设置配置信息,sqlite数据

#import <Foundation/Foundation.h>

 

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        //获取根目录

        NSString *dir=NSHomeDirectory();

        NSLog(@"%@"dir);//MAC下为:/users/tang,ios下不是这个

        //documents 路径

        //第一个参数:要获取的沙盒文件夹名称

        //第二个参数://NSUserDomainMask = 1,//用户主目录中 NSLocalDomainMask = 2,//当前机器中 NSNetworkDomainMask = 4,//网络中可见的主机 NSSystemDomainMask = 8,//系统目录,不可修改(/System) NSAllDomainsMask = 0x0ffff,//全部

        //第三个参数:YES/NO 是否获取全路径 YES

        NSArray* arr=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 1, YES);

        NSLog(@"%@",[arr objectAtIndex:0]);

        //caches路径

        arr=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,1, YES);

        NSLog(@"%@",[arr objectAtIndex:0]);

        //library路径

        arr=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 1, YES);

        NSLog(@"%@",[arr objectAtIndex:0]);

        //tem路径

        NSString *tem=NSTemporaryDirectory();

        //应用,创建文件:

        //library路径下的Preferences文件夹不能得到不能访问,只有拼接字符串

        arr=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, 1, YES);

        NSLog(@"%@",[arr objectAtIndex:0]);

        NSString *path1= [[arr objectAtIndex:0] stringByAppendingPathExtension:@"Preferences/1.txt"];

        NSString *data=@"写入文件,记录数据";

        [data writeToFile:path1 atomically:YES encoding:NSUTF8StringEncoding error:nil];

    }

    return 0;

}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。