iOS沙盒机制

沙盒机制介绍

出于安全起见,iOSapp只能在自己的沙盒里面访问自己的数据;也就是说不可以访问其他app的沙盒。而两个app之间想要进行信息通信,只能通过URl Scheme。沙盒里面的文件可以是照片,声音,文本跟配置文件等。


沙盒简述

1.沙盒结构

"应用程序包"
Documents
    Library
    Preferences
tmp         

2.目录的区别

  • 应用程序包:存放程序的源文件,包括资源文件跟可执行文件
 NSString *path = [[NSBundle mainBundle] bundlePath];
 NSLog(@"%@", path);
 
  • Documents:用于存储用户数据。iTunes备份和恢复时候会涉及到这个目录,因此应用重要的数据应该存到这里。
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);
  
  • Library\cache:存放用户缓存的数据,一般都是来自网络或者计算的数据结果。
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
 NSLog(@"%@", path); 
  • Library\preferences:App偏好设置,通过NSUserDefaults来获取跟访问,iTune会备份跟恢复这个文件。
  • temp:用于存放临时文件,这个可以放一些当APP退出后不再需要的文件。
 NSString *path = NSTemporaryDirectory();
 NSLog(@"%@", path); 

你可能感兴趣的:(iOS沙盒机制)