沙盒机制中各文件夹作用

 

  1. 首先来说下, 什么是沙盒吧?
    答: 在iOS App中, 每一个App都会有一个自己的文件夹(这个文件夹就就叫沙盒), 一般沙盒中包含图片, plist, txt, nib, 录音, 缓存等文件.
  2. 沙河机制:
    答: iOS应用只能访问自己创建的文件夹内的东西, 不能访问其他区域. 也是为什么Mac上没有木马的原因(有木马不能感染别的应用啊)
  3. 注意: 需要进行读写操作的文件(例如数据库文件, 必须放在沙盒中)
  4. 目录结构以及描述
    沙盒包含以下几个文件夹!(默认创建的)

    • Documents: 一般用来存放应用中建立的文件, 如数据库文件, 或者程序中浏览的数据, 如果进行备份将会备份此文件夹内容
    • Library: 存储应用的默认设置及状态信息
    • Library/cache: 用来存放缓存文件, 此文件夹在应用退出时不会删除
    • tmp: 存放临时创建的文件

转载于:https://www.cnblogs.com/mkai/p/5733855.html

沙盒机制是一种安全机制,用于限制应用程序对系统资源的访问。 ### 原理 每个应用程序位于文件系统的严格限制部分,应用程序只能在为该程序创建的文件系统中读取文件,所有应用程序在iOS系统内都放在统一的文件夹目录下,子内的应用程序无法访问其他程序的数据,相当于为每个应用提供独立空间且相互隔离,不能进行交流[^3]。 ### 应用 - **文件存储**:默认情况下,每个含有3个文件夹:Documents、Library 和 tmp。苹果建议将程序中建立的或在程序中浏览到的文件数据保存在Documents目录下,iTunes备份和恢复时会包含目录;Library用于存储程序的默认设置或其它状态信息;tmp保存应用程序运行时临时的数据,应用程序未运行时,系统可能清除该目录的数据 [^2][^4]。 - **代码示例**:以下是获取中不同目录的代码: ```objc //Home目录 NSString *homeDirectory = NSHomeDirectory(); //Document目录 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *documentPath = [paths objectAtIndex:0]; //Libaray目录 NSArray *libraryPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES); NSString *libraryPath = [libraryPaths objectAtIndex:0]; //Cache目录 NSArray *cachePaths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES); NSString *cachePath = [cachePaths objectAtIndex:0]; ``` ### 特点 - **独立性**:每个应用都有自己独立的,应用之间的数据相互隔离,保证了应用数据的安全性和隐私性。 - **受限访问**:应用只能在内的几个指定目录下读写文件,不能随意访问系统其他部分的资源,减少了对系统的潜在风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值