ios系统差别意访谈其余使用的接纳沙盒,iOS学习(OC语言)知识点整理

iOS学习(OC语言)知识点整理

一、iOS沙盒机制介绍
(1)概念:各类ios应用都有投机的运用沙盒,应用沙盒正是文件系统目录,与别的应用放入文件
系统隔断,ios系统不容许访谈其余应用的利用沙盒,但在ios第88中学已经开放访问(extension)
(2)extension是ios8新开放的一种对几个固定系统区域的扩充机制,它能够在分明程度上弥补ios的沙盒机制对利用间的通讯限制
(3)应用沙盒一般包蕴以下多少个文件目录:
1 应用程序包:包涵全体能源文件和可推行文件 2
Documents:保存应用运转时生成的内需长久化的多寡,iTunes会自动备份该目录 3
tmp:保存应用运营时所需的有时数据,使用完成后再将相应的文本从该目录删除,应用尚未运维时,系统也也许会自动清理该目录下的文书,iTunes不会一同该目录,Motorola重启时该目录下的文件会丢弃。4
Libaray:存款和储蓄程序的私下认可设置和任何情况信息,iTunes会自动备份该目录。 5
Libaray/Caches:寄放慢存文件,iTunes不会备份此目录,此目录下文件不会在利用退出删除,一般寄放体积相当的大,不是很要紧的能源6
Libaray/Preferences:保存应用的全体偏幸设置,ios的Settings(设置)应用会在该目录中找出应用的装置新闻,iTunes会自动备份该目录。

一、iOS沙盒机制介绍   

(4)获取使用的根目录 例如:
1 NSString *sandBox=NSHomeDirectory();
(5)获取使用的Documents目录 比如:
1 NSSearchPathForDirectoriesInDomains 重返相对路线2
NSSearchPathForDirectoriesInDomains(要探究的目录, 是还是不是是顾客主目录,
YES/NO 是或不是拿走全路径);3 NSArray arry=
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);4 NSLog(@”%@”,[arry lastObject]);
(6)获取使用的Libaray目录 举例:
NSArray
arry2=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);NSLog(@”%@”,[arry2
lastObject]);
(7)获取使用的Caches目录 比方:
1 NSArray *arry3=
NSSearchPathForDirectoriesInDomains(NSCachesDirectory,2
NSUserDomainMask, YES);3 NSLog(@”%@”,[arry3 lastObject]);
(8)获取使用的Preferences 目录,不可能直接获得只可以自行拼接 比如:
1 NSArray *arry4=
NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
NSUserDomainMask, YES);2 NSString *path=[arry4 lastObject];3
path=[path stringByAppendingPathComponent:@”Preferences”];4
NSLog(@”%@”,path);
(9)获取使用的tmp目录 举例:
1 NSString *tmp=NSTemporaryDirectory();2 NSLog(@”%@”,tmp);
(10)写入文件到钦点的利用目录下 举例:
1 NSArray *arry4=
NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
NSUserDomainMask, YES);2 NSString *path=[arry4 lastObject];3
path=[path stringByAppendingPathComponent:@”Preferences/Test.txt”];4
NSString *str=@”abcdefg”;5 [str writeToFile:path atomically:YES
encoding:NSUTF8StringEncoding error:nil];

1)概念:

   
每种ios应用都有投机的行使沙盒,应用沙盒就是文件系统目录,与任何应用放入文件
系统隔绝,ios系统不相同意访谈

    其余应用的施用沙盒,但在ios第88中学已经开放访谈(extension)

链接:
www.jianshu.com/p/2944233ebac4
http://blog.csdn.net/zhangkongzhongyun/article/details/45056969

2)extension是ios8新开放的一种对多少个稳固系统区域的扩充机制,它能够在必然水平上弥补ios的沙盒机制对应用间的通讯限制 

3)应用沙盒一般包蕴以下多少个文件目录

    1、应用程序包:包涵全体能源文件和可实践文件  

    2、Documents:保存应用运维时生成的须要悠久化的多寡,iTunes会自动备份该目录     

    3、tmp:保存应用运转时所需的一时半刻数据,使用实现后再将相应的文件从该目录删除,应用尚未运维时,系统也或者会活动清理

         该目录下的文书,iTunes不会联手该目录,索尼爱立信重启时该目录下的公文少禽甩掉。   

    4、Libaray:存款和储蓄程序的暗许设置和别的情况消息,iTunes会自动备份该目录。 

    5、Libaray/Caches:存放慢存文件,iTunes不会备份此目录,此目录下文件不会在运用退出删除,一般存放体量相当大,

         不是很珍视的财富  

    6、Libaray/Preferences:保存应用的具备偏心设置,ios的Settings(设置)应用会在该目录中索求应用的设置新闻,

        iTunes会自动备份该目录。  

4)获取使用的根目录 举例:  

1  NSString *sandBox=NSHomeDirectory();

 

5)获取使用的Documents目录 譬喻:  

1 //NSSearchPathForDirectoriesInDomains 返回绝对路径 
2 //NSSearchPathForDirectoriesInDomains(要查找的目录, 是否是用户主目录, YES/NO 是否获取全路径); 
3 NSArray *arry=  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
4 NSLog(@"%@",[arry lastObject]);

 

6)获取使用的Libaray目录 举个例子:

1 NSArray *arry2=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
2 NSLog(@"%@",[arry2 lastObject]);

  

7)获取使用的Caches目录 比方: 

1 NSArray *arry3=  NSSearchPathForDirectoriesInDomains(NSCachesDirectory,    
2 NSUserDomainMask, YES);
3 NSLog(@"%@",[arry3 lastObject]);

 

8)获取使用的Preferences 目录,不能够一贯得到只可以自行拼接 比方: 

1 NSArray *arry4=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
2 NSString *path=[arry4 lastObject];
3 path=[path stringByAppendingPathComponent:@"Preferences"];
4 NSLog(@"%@",path);

 

9)获取使用的tmp目录 例如:

1 NSString *tmp=NSTemporaryDirectory();
2 NSLog(@"%@",tmp);

 

10)写入文件到钦命的采取目录下 比方:  

1 NSArray *arry4=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
2 NSString *path=[arry4 lastObject]; 
3 path=[path stringByAppendingPathComponent:@"Preferences/Test.txt"];
4 NSString *str=@"abcdefg";
5 [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

 

11)将数据写入客户配置沙盒目录 举个例子: 

1  //保存选择结果到沙盒
2 [[NSUserDefaults standardUserDefaults] setObject:_result forKey:@"userPrama"]; 
 //立即同步数据  
[[NSUserDefaults standardUserDefaults] synchronize];  

4 //从沙盒取出保存结果
5 NSString *result = [[NSUserDefaults standardUserDefaults] valueForKey:@"userPrama"];