沙盒

作者: healthbird | 来源:发表于2017-02-08 15:18 被阅读46次

iOS APP可以在自己的沙盒里读写文件,每一个APP有自己独立的沙盒。沙盒里面的文件可以是照片、声音文件、文本、属性列表等。

沙盒机制简介

  1. 沙盒根目录结构:Documents、Library、temp。

  2. 简述一下Documents、Library、tmp的区别:

  • Documents:用于存储用户数据,iTunes备份和恢复的时候会包括此目录,所以,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下。

  • Library:包含两个子目录:Caches 和 Preferences。Caches用来存放用户需要缓存的文件。Preferences是APP的偏好设置,可以通过NSUserDefaults来读取和设置。

  • tmp:用于存放临时文件,这个可以放一些当APP退出后不再需要的文件。
    </br>

程序中获取沙盒根目录

// 获取沙盒根目录
 NSString *basePath = NSHomeDirectory();
 NSLog(@"basePath = %@",basePath);
// 输出(模拟器地址):basePath = /Users/pengbingxiang/Library/Developer/CoreSimulator/Devices/5D783DF8-88BE-45A3-8A8B-3691102719EB/data/Containers/Data/Application/E5FC885A-4B3E-4293-AB2E-65BB7875A440

获取Documents路径

// 获取Documents路径
  NSArray *documentsPathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsPathStr = [documentsPathArr objectAtIndex:0];
  NSLog(@"documentsPathStr = %@",documentsPathStr);
// 输出(模拟器地址):documentsPathStr = /Users/pengbingxiang/Library/Developer/CoreSimulator/Devices/5D783DF8-88BE-45A3-8A8B-3691102719EB/data/Containers/Data/Application/E5FC885A-4B3E-4293-AB2E-65BB7875A440/Documents

获取Library路径

// 获取Library路径
  NSArray *libraryPathArr = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  NSString *libraryPathStr = [libraryPathArr objectAtIndex:0];
  NSLog(@"libraryPathStr = %@",libraryPathStr);
// 输出(模拟器地址):libraryPathStr = /Users/pengbingxiang/Library/Developer/CoreSimulator/Devices/5D783DF8-88BE-45A3-8A8B-3691102719EB/data/Containers/Data/Application/E5FC885A-4B3E-4293-AB2E-65BB7875A440/Library

获取Caches路径

// 获取Caches路径
  NSArray *CachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  NSString *CachesPathStr = [CachesPathArr objectAtIndex:0];
  NSLog(@"CachesPathStr = %@",CachesPathStr);
// 输出(模拟器地址):CachesPathStr = /Users/pengbingxiang/Library/Developer/CoreSimulator/Devices/5D783DF8-88BE-45A3-8A8B-3691102719EB/data/Containers/Data/Application/E5FC885A-4B3E-4293-AB2E-65BB7875A440/Library/Caches

获取tmp路径

// 获取tmp路径
  NSString *tmpPathStr = NSTemporaryDirectory();
  NSLog(@"tmpPathStr = %@",tmpPathStr);
// 输出(模拟器地址):tmpPathStr = /Users/pengbingxiang/Library/Developer/CoreSimulator/Devices/5D783DF8-88BE-45A3-8A8B-3691102719EB/data/Containers/Data/Application/E5FC885A-4B3E-4293-AB2E-65BB7875A440/tmp/

使用真机查看APP沙盒

1. 打开Devices

在xcode的上部导航栏里,选择window -> Devices

devices.png
2. 找到在真机上调试的APP
Paste_Image.png

双击应用或者点击下面的设置按钮

沙盒目录结构.png

这样我们只能看到沙盒的目录结构,但是看不到实体文件。

3. 下载沙盒文件到本地

如果想要查看真机沙盒文件的内容,需要点击Download Container,把文件下载本地进行查看。

Download_Container.png 沙盒本地文件.png

右击选择“显示包内容”,查看文件内容。

相关文章

  • IOS沙盒 - OC

    沙盒: 沙盒包含: 沙盒路径获取的方法:

  • Objective-C沙盒结构

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

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • OC - 沙盒

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

  • 沙盒

    1、沙盒 程序只能访问自己的沙盒 NSHomeDirectory() 访问沙盒路径 沙盒下有三个目录:Docume...

  • iOS 系统相关复习

    沙盒 iOS沙盒详细介绍iOS沙盒篇 沙盒机制介绍 iOS中的沙盒机制是一种安全体系。为了保证系统安全,iOS每个...

  • iOS开发之沙盒机制

    沙盒 iOS系统,每个应用都有自己的沙盒,每个沙盒都是相互独立的,不能互相访问。 获取沙盒路径的代码: NSHom...

  • 数据持久化存储

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

  • iOS的永久话储存

    沙盒:IOS应用中每个应用均有自己沙盒,用来储存APP自己的数据,每个应用的沙盒均是应用特有的不能交叉访问。 沙盒...

  • iOS沙盒解析及操作

    介绍 概念:每个应用拥有自己的应用沙盒,所谓的应用沙盒就是文件系统目录。 沙盒文件目录 沙盒操作 获取应用根目录 ...

网友评论

    本文标题:沙盒

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