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

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// 读取Documents目录代码

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

NSString *pathDocuments=[pathsDocuments objectAtIndex:0];

//    NSLog(@"pathDocuments~~~~~~%@    pathsDocuments----%@",pathDocuments,pathsDocuments);

/*

pathDocuments~~~~~~/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/12EA0817-D2C0-40E5-B3CC-1EB642FCDF9F/Documents    pathsDocuments----(

"/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/12EA0817-D2C0-40E5-B3CC-1EB642FCDF9F/Documents"

)

*/

// 读取Cache目录代码

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

NSString *pathCache=[pathsCache objectAtIndex:0];

//    NSLog(@"pathCache~~~~~~%@    pathsCache----%@",pathsCache,pathCache);

/*

pathCache~~~~~~(

"/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/823489C8-00DA-403B-95AB-76C8FBE8AAAA/Library/Caches"

)    pathsCache----/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/823489C8-00DA-403B-95AB-76C8FBE8AAAA/Library/Caches

*/

// 读取Library目录

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

NSString *pathLibrary=[pathsLibrary objectAtIndex:0];

//    NSLog(@"pathsLibrary~~~~~~%@    pathLibrary----%@",pathsLibrary,pathLibrary);

/*

pathsLibrary~~~~~~(

"/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/05969A2D-E6BD-4F4B-A57E-4414D987D240/Library"

)    pathLibrary----/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/05969A2D-E6BD-4F4B-A57E-4414D987D240/Library

*/

// 读取temp文件夹

NSString *tempDir=NSTemporaryDirectory();

//    NSLog(@"tempDir~~~%@",tempDir);

/*

tempDir~~~/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Data/Application/CEF70855-6285-46D9-B7BF-B4C9AAB1816B/tmp/

*/

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

NSString *defaultDBPath=[[NSBundle mainBundle] resourcePath];

NSLog(@"defaultDBPath~~%@",defaultDBPath);

/*

defaultDBPath~~/Users/yhj/Library/Developer/CoreSimulator/Devices/65FC33FE-6234-427B-A4F2-4F22ACE36842/data/Containers/Bundle/Application/D94DD7F5-0CE9-4EEF-8E47-37C4737EF2CF/IOS沙盒Files目录说明和常用操作.app

*/

// 可以保证app的documents文件内容不备份到icloud上

[self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:pathDocuments]];

return YES;

}

// 用NSURLIsExcludedFromBackupKey 或 kCFURLIsExcludedFromBackupKey 文件属性来防止文件被备份。这些API是通过通过旧的,弃用的方式的直接设置额外属性。所有运行在iOS5.1的都应该使用这些API包防止文件被备份。在iOS5 .1上防止文件被备份

-(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);

}

return success;

}

时间: 2024-10-03 12:08:07

IOS沙盒Files目录说明和常用操作的相关文章

iOS 沙盒目录结构介绍

iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件.当然,在用户授权的情况下,应用也可以访问其他目录下面的文件.比如,用户授权情况下,应用可以访问相册.通讯录.在开发中,经常会涉及到 iOS 沙盒目录,比如读写文件,归档解档等. 一:沙盒的目录结构 app的沙盒目录结构如下图: 可知,沙盒目录下有三个文件夹:Documents.Library.Temp.其中,Library下面有两个文件夹,分别是 Preferences 和 Caches. 二:每个目录下存放的文件

iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)

转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下,包括图片,属性文件plist,bundle,nib文件等,这块区域称之为沙盒(sandBox). 每个应用都有属于自己的存储空间,即沙盒 应用只能访问自己的沙盒,不可访问其他区域 如果应用需要进行文件操作,则必须将文件存放在沙盒中,尤其是数据库文件,在电脑上操作时,可以去访问,但是如果要装在真机上

【转】IOS 沙盒机制及各个目录

IOS沙盒机制(SandBox) 原文http://www.cnblogs.com/taintain1984/archive/2013/03/19/2969201.html IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据

iOS面试题--Model层--沙盒的目录结构是怎么样的?各自一般用于什么场合?

沙盒的目录结构是怎么样的?各自一般用于什么场合? 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下,包括图片,属性文件plist,bundle,nib文件等,这块区域称之为沙盒(sandBox). 每个应用都有属于自己的存储空间,即沙盒 应用只能访问自己的沙盒,不可访问其他区域 如果应用需要进行文件操作,则必须将文件存放在沙盒中,尤其是数据库文件,在电脑上操作时,可以去访问,但是如果要装在真机上可以使用,必须将数据库文件拷贝至沙盒中

iOS 沙盒目录结构

iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件.当然,在用户授权的情况下,应用也可以访问其他目录下面的文件.比如,用户授权情况下,应用可以访问相册.通讯录.在开发中,经常会涉及到 iOS 沙盒目录,比如读写文件,归档解档等. 一:沙盒的目录结构 app的沙盒目录结构如下图: 可知,沙盒目录下有三个文件夹:Documents.Library.Temp.其中,Library下面有两个文件夹,分别是 Preferences 和 Caches. 二:每个目录下存放的文件

iOS学习之iOS沙盒(sandbox)机制和文件操作

iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 1.iOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行. 通过这张图只能从表层上理解sandbox是一种安全体系,应

IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(

IOS 阶段学习第25天笔记(IOS沙盒机制介绍)

IOS学习(OC语言)知识点整理 一.IOS沙盒机制介绍 1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒,但在ios8中已经开放访问(extension) 2)extension是ios8新开放的一种对几个固定系统区域的拓展机制,它可以在一定程度上弥补ios的沙盒机制对应用间的通信限制 3)应用沙盒一般包括以下几个文件目录: 1.应用程序包:包含所有资源文件和可执行文件 2.Documents:保存应用

iOS沙盒

iOS沙盒中一共有四个文件夹 ------安装目录(r) -------Ducuments:长期存放用户文件或文件夹(rw) -------A.pp:mainBundle:存放可执行文件和资源文件(r) -------tmp:存放临时文件(r,w) -------Library -------caches:存放缓存文件(rw) 访问这些文件的方法: //获取根目录路径 NSString *home=NSHomeDirectory(); NSLog(@"%@",home);//打印出该路