iOS应用沙盒机制浅析_inhouse app sandbox-程序员宅基地

技术标签: 沙盒  笔试面试  ios  iOS笔试面试题  

      iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒。所有的非代码文件都要保存在此,例如图像,图标,声音,属性列表(plist文件),文本文件等。沙盒机制作为一种安全体系,核心内容是:沙盒对应用程序执行各种操作的权限限制。

(1)每个应用程序都有自己的存储空间;

(2)应用程序不能翻过自己的围墙去访问别的存储空间的内容;

(3)应用程序请求的数据都要通过权限监测,如果权限不允许,则不能读取;


     现在我们在Mac上来查看下某个应用的沙盒位置。新建一个iOS项目,在viewDidLoad()方法中写入如下代码:NSLog(@"沙盒路径:%@",NSHomeDirectory());

运行程序后,输出如下:获取这个路径可能还有其他办法,但是可能根据Mac版本或者Xcode版本的不同,这个路径会有所区别。所以最好使用这种代码方式来获取该应用的沙盒位置。


然后在终端下执行 open 目录位置     ,这个命令,就能在Finder中快速打开这个目录。这个目录下包含内容:



现在我们来讲讲这个目录结构:

默认情况下,每个沙盒含有3个文件夹:Documents,Library和tmp。因为应用的沙盒机制规定只能在几个目录下读写文件:

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

Library:存储程序的默认设置或其他状态信息。

Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出时删除。

tmp:一个创建临时文件的地方。


附带finder显示隐藏文件的终端命令:

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false



github主页:https://github.com/chenyufeng1991  。欢迎大家访问!














版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CHENYUFENG1991/article/details/49207197

智能推荐

python:关于install launcher for all users 无法勾选的问题_install launcher for all users无法勾选-程序员宅基地

文章浏览阅读1.8w次,点赞25次,收藏25次。解决方法一:以管理员身份运行安装文件解决方法二:之前的python没有卸载干净去控制面板里面的卸载程序里面卸载 卸载完了就可以勾选啦_install launcher for all users无法勾选

selenium.common.exceptions.WebDriverException错误解决_selenium.webdriverexception:-程序员宅基地

文章浏览阅读2.4k次。selenium.common.exceptions.WebDriverException错误解决参考资料说明解决讨论参考资料https://blog.csdn.net/mango_ZZY/article/details/105138176https://selenium-python.readthedocs.io/installation.html#drivers说明今天在python3.7环境下用snapshot_selenium渲染pyecharts的图片,报了以下错:selenium.c_selenium.webdriverexception:

cmd命令杀掉本地java进程_cmd删除运行的java.exe-程序员宅基地

文章浏览阅读1.7k次。taskkill /F /IM java.exe_cmd删除运行的java.exe

2024三掌柜赠书活动第二期:实战AI大模型_实战ai大模型 电子书-程序员宅基地

文章浏览阅读1.1w次,点赞38次,收藏25次。随着人工智能技术的不断发展,越来越多的应用场景需要处理大规模的数据集和复杂的计算模型。传统的AI模型可能无法满足这些需求,因此,实战AI大模型成为了许多技术圈大佬和程序开发人员广泛关注的焦点。那么本文就来分享介绍实战AI大模型的关键步骤和挑战,帮助读者了解如何突破性能瓶颈,构建更强大的AI模型。《实战AI大模型》是一本旨在填补人工智能(AI)领域(特别是AI大模型)理论与实践之间鸿沟的实用手册。_实战ai大模型 电子书

小白乱写——智能车-程序员宅基地

文章浏览阅读342次,点赞9次,收藏8次。前面几个月一直在调stc32的四轮电磁车,最近学长给了一辆stc16f的三轮车,为喜得新车开心了一晚上,觉得后面就是复制粘贴代码的小case。复制粘贴一波操作后,编译居然报错了,哦哦原来是核心板不一样,library也有小变化。问题不大,又操作了一下,0error,0warning。一开机,我的妈,电机疯转震惊了实验室其他小伙伴,还好没有放桌上开机,不然怎么也得冲出去几米远,又试了改占空比,改系统频率和pwm初始化频率都是一如既往的电机发疯,使得我每次开机前都有心理建设一波,开完机看了现象赶紧关。

【OpenCV入门教程之八】线性邻域滤波专场 方框滤波 均值滤波与高斯滤波_邻域平均与高斯滤波-程序员宅基地

文章浏览阅读195次。【OpenCV入门教程之八】线性邻域滤波专场 方框滤波 均值滤波与高斯滤波_邻域平均与高斯滤波

随便推点

基于SSM的房产中介系统-程序员宅基地

文章浏览阅读856次,点赞20次,收藏17次。然后,通过详细分析,我们设计了系统。论文对基于JavaWeb的房产中介系统进行了介绍,包括他的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对房产中介系统进行了一些具体测试。在三层体系结构的B/S系统中,通过浏览器,会员可以对很多服务器发出请求, B/S系统会很大程度的降低工作量,用户只需要安装运行较少的客户端即可,大量的工作将由服务器承担,另外,服务器也完成包括访问数据库,执行应用程序的工作等等。

PageHelper分页能查出总条数但是列表没有数据_pagehelper查询的时候总数有三条,但是list是空的-程序员宅基地

文章浏览阅读4.7k次。前言如题,转载地址:https://blog.csdn.net/ZS12345678ZS/article/details/91871504原因:pagehelp分页pagenum从1开始_pagehelper查询的时候总数有三条,但是list是空的

Android adb/串口命令设置和获取系统音量_android手机发送usb hid 音量设置指令-程序员宅基地

文章浏览阅读1.6k次。原文地址:https://blog.csdn.net/sunxiaolin2016/article/details/1088437161、查看audio的全部信息(各音频流音量,焦点,策略等) dumpsys audio12、设置音量并且显示音量UI //stream 3表示多媒体,10表示音量值 media volume --show --stream 3 --set 101 23、音量调大调小 media volume --stream 3 --adj r._android手机发送usb hid 音量设置指令

生物传感器技术的进步:从基因测序到智能穿戴设备-程序员宅基地

文章浏览阅读790次,点赞15次,收藏12次。1.背景介绍生物传感器技术是一种用于测量生物系统中物质、信息和能量变化的设备。它们在医疗、环境监测、农业和生物科学等领域具有广泛的应用。随着科技的发展,生物传感器技术不断进步,从基因测序到智能穿戴设备,这些技术的进步为我们提供了更多的可能性和机遇。在本文中,我们将探讨生物传感器技术的进步,包括基因测序、微机器人、生物芯片和智能穿戴设备等领域的发展。我们将讨论这些技术的核心概念、联系和算法原...

COM多线程原理与应用-程序员宅基地

文章浏览阅读33次。http://blog.csdn.net/sheismylife/article/details/217033目录:COM多线程原理与应用... 1目录:... 1前言:... 1套间:... 1套间的定义:... 1套间的分类:... 2套间的进入和退出:.. 2对象的同步:... 2组件对象的同步:... 2COM对象线程模型:.. 2进程内对象...

什么是“月结30天”?(轉)-程序员宅基地

文章浏览阅读9k次。2019独角兽企业重金招聘Python工程师标准>>> ..._月结30天

推荐文章

热门文章

相关标签