美文网首页
NSBundle和沙盒(Document、Library和Cas

NSBundle和沙盒(Document、Library和Cas

作者: _Boring | 来源:发表于2017-12-19 19:43 被阅读29次

NSBundle和沙盒(Document、Library和Cashes)

首先要区分NSBundle和沙盒我们分两个方面来看:

以下都是使用模拟器调试,因为等下好展示两者的文件结构。真机其实是一样的,只是要看真机的文件结构太麻烦了。

一、文件路径
1. NSBundle路径:/Users/wangjie/Library/Developer/CoreSimulator/Devices/26BF859E-922A-4E36-83AC-27CD6EC662AF/data/Containers/Bundle/Application/734FF183-1613-49F2-9A59-FA60B76FAD4F/YuDao.app
2. 沙盒路径:    /Users/wangjie/Library/Developer/CoreSimulator/Devices/26BF859E-922A-4E36-83AC-27CD6EC662AF/data/Containers/Data/Application/0E060108-C1CB-4D0D-9080-4D9085140C53/

这里很容易看出来差别,首先第一个差别就在Containers后面,一个是Bundle,一个是Data。
看下面两张图:

NSBundle路径 沙盒路径
二、文件内容

<1> Bundle

Bundle主要是一些资源文件,这些资源包含了如图像,声音,编译好的代码,nib文件。这里是在程序打包时就有了点,而不是后续通过代码写进去的。

想看具体的话,可以点击右键.app,然后选择显示包内容。这里就不贴图了。

<2> 沙盒

Documents 目录:您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。

Library 目录:这个目录下有两个子目录:Caches 和 Preferences

Preferences 目录包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好

Caches 目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。

上面沙盒的简介转自http://blog.csdn.net/u012891546/article/details/50976790

下面是我自己的用法和理解:

Document:这里我分了两个文件:User和Common

User:用户相关。这里分了DB(数据库)和Files(文件)。DB就是数据库文件,例如好友、聊天记录等。Files存用户头像、背景图片、动态图片等地本地文件。
Common:通用。同User一样,分了DB和Files。DB里存一些通用数据库内容,例如首页的动态和排行榜,免得用户进来看到空的页面。Files里存启动的广告图片或视频文件、聊天用的通用表情文件(这里也可以直接打包到资源文件里,如果可变的,就写到这里)和省市区的plist文件等。

Caches:这里我只用了图片缓存。因为我在用SDWebImage的时候发现,它就是在这里创建了一个default-com.hackemist.SDWebImageCache.default文件。

Preferences:这里会自动生成一个BundleID生成的plist文件。其实就是你平常用的[NSUserDefaults standardUserDefaults]指向的文件。

temp:不用管,这都是系统自己操作的。我目前发现的就是web访问访问时会往里写一些缓存数据,好像Library里的Cookies和WebKit也有,具体的不太清楚。

这里贴两张我的文件结构:

Document_1 Document_2

因为这方面的文章几乎没找到过,如果有大神能分享下就太好了!!!

相关文章

  • NSBundle和沙盒(Document、Library和Cas

    NSBundle和沙盒(Document、Library和Cashes) 首先要区分NSBundle和沙盒我们分两...

  • 沙盒和NSBundle

    一、NSBundle目录和沙盒路径对比 沙盒目录: /Users/mrwangxiansen/Library/De...

  • 沙盒和NSBundle

    沙盒 1、沙盒机制介绍 iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只...

  • 沙盒和NSBundle

    沙盒 1、沙盒机制介绍 iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只...

  • iOS开发之沙盒路径查找

    前言 默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。 1.Document...

  • 沙盒和NSBundle的区别

    1 沙盒和NSBundle的区别 沙盒(NSHomeDirectory()) 是系统加载 app时,为 app 分...

  • iOS 沙盒路径获取,创建文件

    沙盒下主要有四个文件夹:document,caches,tmp,library Object-c document...

  • iOS沙盒机制

    1.沙盒文件的组成 沙盒的根目录有三个文件夹,分别是Document、tmp、Library Documents/...

  • ios下的数据持久化技术

    应用程序沙盒 NSBundle,xxx.appNSString *bundlePath = [[NSBundle ...

  • 7.1 沙盒和NSBundle详解

    沙盒 1、沙盒机制介绍 iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只...

网友评论

      本文标题:NSBundle和沙盒(Document、Library和Cas

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