厚街商城网站建设,wordpress联系表单的制作,天津建设工程信息网络,网页qq登录保护怎么开启iOS系统在安全性上的一大亮点就是沙盒。每个iOS应用SDK都被限制在沙盒中#xff0c;我们可以把沙盒当成一个设置了仅当前SDK可以访问的文件夹#xff0c;苹果对沙盒有以下几条限制#xff1a;应用程序可以在自己的沙盒中运行#xff0c;但不能访问任何其他应用程序的沙盒。…iOS系统在安全性上的一大亮点就是沙盒。每个iOS应用SDK都被限制在沙盒中我们可以把沙盒当成一个设置了仅当前SDK可以访问的文件夹苹果对沙盒有以下几条限制应用程序可以在自己的沙盒中运行但不能访问任何其他应用程序的沙盒。应用程序间不能共享数据。禁止应用程序读写沙盒以外的文件夹。沙盒根目录中有四个文件夹AppName.appDocumentsLibrarytmpiTunes在与iPhone同步时备份所有的Documents和Library文件。iPhone在重启时丢弃所有的tmp文件。一、以下从存放内容、是否会被iTunes同步两个方面来分别描述沙盒中四个文件夹的功能情况1. AppName.app①存放内容这是应用程序的程序包目录包含了应用程序本身的数据、资源文件、可执行文件等等。程序启动以后会根据需要从该目录中动态的加载代码或者资源到内存(懒加载lazy loading)。注意AppName.app目录是只读的。为了防止被篡改应用在安装的时候会将该目录签名。非越狱情况下该目录中的内容是无法更改的如果更改了目录内容对应的签名就会发生改变会导致应用程序无法启动。②是否会被iTunes同步否2. Documents①存放内容我们可以将应用程序的数据文件保存在该目录下。不过这些数据类型仅限于不可再生的数据可再生的数据文件应该存放在Library/Cache目录下②是否会被iTunes同步是3. Documents/Inbox①存放内容该目录用来保存由外部应用请求当前应用程序打开的文件。比如应用A向系统注册了几种可打开的文件格式应用B中有一个A支持的格式的文件F并申请调用应用A打开文件F。由于F当前是在应用B的沙盒中我们知道沙盒机制使不允许应用A访问应用B沙盒中的文件因此苹果的解决方案是将文件F拷贝一份到应用A的Documents/Inbox目录下再让应用A打开文件F。②是否会被iTunes同步是4. Library①存放内容苹果建议用来存放默认设置或者其他状态信息。②是否会被iTunes同步是但除了Caches子目录5. Library/Caches①存放内容主要是缓存文件用户使用过程中缓存都可以保存在这个目录中。上面提到过Documents目录用于保存不可再生的文件那么这个目录就用于保存那些可再生的文件比如网络请求数据。鉴于此应用程序通常还需要负责删除这些文件。②是否会被iTunes同步否6. Library/Preferences①存放内容应用程序的偏好设置文件。我们使用NSUserDefaults的设置数据都会保存到该目录下的一个plist文件中。②是否会被iTunes同步是7. tmp①存放内容主要存放各种临时文件保存应用再次启动时不需要的文件。而且当应用不再需要这些文件时应该主动将其删除因为该目录下的东西随时有可能被系统清理掉目前已知的一种可能清理的原因是系统磁盘存储空间不足的时候。②是否会被iTunes同步否二、获取沙盒路径1. 获取沙盒主目录路径NSString *homePath NSHomeDirectory();2. 获取Documents路径NSString *documentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];3. 获取Library路径NSString *libraryPath [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];4. 获取Caches路径NSString *cachesPath [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];5. 获取tmp路径NSString *tmpDir NSTemporaryDirectory();