1、IOS沙盒机制
沙盒(sandbox)是 iOS 的一个防御机制,每个应用都有一个属于自己的沙盒。应用只能在自己的沙盒目录下读写数据,应用 A 不能访问应用 B 的沙盒,它们之间是互相隔离的。正因如此,攻击者在上传恶意程序后,即使侥幸通过了 App Store的审核,安装到用户手机上的应用也无法获取其他应用的数据。
沙盒机制限制了应用只能读写沙盒之内的文件,而我们在有些情况下需要访问一些公共资源(比如通讯录、短信、照片和位置等),这些是存在于沙盒之外的。针对这个问题,苹果公司提供了公开的 API 用于访问公共资源,并且每次访问时都会弹出申请权限提示框,只有用户允许后,才能访问成功。
2、遇到的问题
由于业务需要,我会将保存的文件绝对路径保存以便下次读取。
于是发现一个找不到的现象,即上一次保存下的绝对路径,再第二次打开app去查找的时候,发现找不到。。。
比如:我第一次保存一个文件,保存路径如下:
/Users/MACBOOK/Library/Developer/CoreSimulator/Devices/42B54721-B3EB-448A-A450-1E11165011A0/data/Containers/Data/Application/5CBBF509-BD9B-4AA9-AA19-A04FC5C791E6/Documents/test.db
注:MACBOOK是ma