美文网首页ios开发联盟
iOS沙盒目录结构

iOS沙盒目录结构

作者: 漫雪思舟 | 来源:发表于2017-04-10 09:45 被阅读210次

前言:
出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(系统允许授权的文件除外,比如在用户授权情况下访问通讯录,相册等),这展示了iOS系统的封闭性。在开发中常常需要数据存储的功能,比如存取文件,归档解档等。首先看一下苹果官方的沙盒目录结构


苹果官方沙盒目录

沙盒目录下有三个文件夹:Documents、Library、temp以及一个.app包!应用程序只能访问该目录下的文件夹!!!
1、Documents 目录:您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据。该路径可通过配置实现iTunes共享文件。可被iTunes备份。
2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
3、Library 目录:这个目录下有两个子目录:
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
可创建子文件夹。可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份。
4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。该路径下的文件不会被iTunes备份。
step1.获取沙盒根目录路径
NSString *path = NSHomeDirectory();

step2.获取各子目录路径

// 获取沙盒主目录路径
NSString *homeDir = NSHomeDirectory();
// 获取Documents目录路径
NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
// 获取Library的目录路径
NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
// 获取Caches目录路径
NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
// 获取tmp目录路径
NSString *tmpDir =  NSTemporaryDirectory();

获取应用程序程序包中资源文件路径的方法:

NSLog(@"%@",[[NSBundle mainBundle] bundlePath]);
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"apple" ofType:@"png"];
UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

相关文章

  • 数据持久化存储

    沙盒 iOS程序默认情况下只能访问自己的目录,这个目录被称作沙盒 沙盒结构 沙盒结构主要为 DocumentLib...

  • 沙盒文件

    iOS 持久化沙盒目录结构:出于安全考虑,iOS 系统的沙盒机制规定每个应用都只能访问当前沙盒目录下的文件,也有例...

  • iOS沙盒目录结构解析

    iOS沙盒目录结构解析 出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,...

  • OC - 沙盒

    导读: 一、什么是沙盒机制 二、沙盒的特点 三、沙盒的结构组成 四、获取沙盒目录路径 一、什么是沙盒机制 iOS中...

  • Objective-C沙盒结构

    导读: 一、什么是沙盒机制二、沙盒的特点三、沙盒的结构组成四、获取沙盒目录路径 一、什么是沙盒机制 iOS中的沙盒...

  • 四种存储数据的方式

    目录沙盒机制: ios的数据存储是沙盒机制的,可以通过iOS模拟器查看一下每个app的目录结构 ~/Library...

  • 学习笔记-应用的沙盒

    在iOS设备中,APP的数据存储采用了SandBox(沙盒)机制。 应用的沙盒 目录结构 每个iOS应用都有自己应...

  • 009-数据持久化方案

    数据持久化方案 iOS 默认情况下只能访问程序自己所在的目录,称为“沙盒”,沙盒结构的目录如下: Applicat...

  • iOS数据存储总结(数据持久化)

    谈iOS的数据存储的时候要先知道APP沙盒的结构和路径.沙盒的结构为: 沙盒的根目录: 搜索文件夹的方式: 数据存...

  • iOS沙盒目录结构

    每个应用的沙盒目录都是相似的,主要包含图中所示的4个目录: 1、MyApp.app ①存放内容 该目录包含了应用程...

网友评论

    本文标题:iOS沙盒目录结构

    本文链接:https://www.haomeiwen.com/subject/trfsattx.html