`
R任轩
  • 浏览: 15870 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

IOS沙盒机制(SandBox)

 
阅读更多

IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容。所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等。

1.每个应用程序都在自己的沙盒内

2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容

3.应用程序向外请求或接收数据都需要经过权限认证

 

查看模拟器的沙盒文件夹在Mac电脑上的存储位置,首先,这个文件夹是被隐藏的,所以要先将这些文件显示出来,打开命令行:

 

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

 

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

 

然后重新启动Finder,点击屏幕左上角苹果标志——强制退出——选择Finder然后点击重新启动,这个时候在重新打开Finder就可以看到被隐藏的文件了。

 

还有一种比较简单的办法就是直接点击Finder图标右键——前往文件夹——输入/Users/your username/Library/Application Support/iPhone Simulator/ ,然后确认就可以了。your username是你本机的用户名

一、进入相应的文件夹,就可以到模拟器的沙盒文件目录

二、接着进入一个模拟器版本

三、然后可以看到Applications下面存放的就是模拟器中所装的开发的应用程序,随便进入一个后可以看到,一个沙盒中包含了四个部分:分别是.app文件,这个就是可运行的应用文件,Documents,苹 果建议将程序中创建的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录;Library,存储程序的默认设置或其它 状态信息;Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除;tmp,创建和存放临时文件的地 方。

下面通过代码来获取这些目录:

//获取根目录  
 2         NSString *homePath = NSHomeDirectory();  
 3         NSLog(@"Home目录:%@",homePath);  
 4           
 5         //获取Documents文件夹目录,第一个参数是说明获取Doucments文件夹目录,第二个参数说明是在当前应用沙盒中获取,所有应用沙盒目录组成一个数组结构的数据存放  
 6         NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
 7         NSString *documentsPath = [docPath objectAtIndex:0];  
 8         NSLog(@"Documents目录:%@",documentsPath);  
 9           
10         //获取Cache目录  
11         NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);  
12         NSString *cachePath = [cacPath objectAtIndex:0];  
13         NSLog(@"Cache目录:%@",cachePath);  
14           
15         //Library目录  
16         NSArray *libsPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);  
17         NSString *libPath = [libsPath objectAtIndex:0];  
18         NSLog(@"Library目录:%@",libPath);  
19           
20         //temp目录  
21         NSString *tempPath = NSTemporaryDirectory();  
22         NSLog(@"temp目录:%@",tempPath);  

 下面开始向目录里面创建文件,然后向文件里面写入内容:

NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
 2         NSString *documentsPath = [docPath objectAtIndex:0];  
 3         //写入文件  
 4         if (!documentsPath) {  
 5             NSLog(@"目录未找到");  
 6         }else {  
 7             NSString *filePaht = [documentsPath stringByAppendingPathComponent:@"test.txt"];  
 8             NSArray *array = [NSArray arrayWithObjects:@"Title",@"Contents", nil];  
 9             [array writeToFile:filePaht atomically:YES];  
10         }  

 创建成功后打开文件夹目录,可以看到test.txt文件

接下来是把该文件中的内容读出来:

//读取文件  
2     NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
3         NSString *documentsPath = [docPath objectAtIndex:0];  
4         NSString *readPath = [documentsPath stringByAppendingPathComponent:@"test.txt"];  
5         NSArray *fileContent = [[NSArrayalloc] initWithContentsOfFile:readPath];  
6         NSLog(@"文件内容:%@",fileContent);  

 

分享到:
评论

相关推荐

    iOS沙盒写入读取文件

    在iOS应用开发中,沙盒(Sandbox)是一种安全机制,用于限制应用程序的访问权限,以保护用户数据的安全。每个iOS应用都有自己的独立沙盒,其中包含多个特定的文件夹,如Documents、Library、tmp等。这个“iOS沙盒...

    ios沙盒数据存储

    在iOS应用开发中,每个应用程序都有自己的独立空间,被称为“沙盒”(Sandbox)。这个沙盒为每个应用提供了一个安全、隔离的环境,确保应用只能访问其内部的数据,而不能随意访问其他应用或系统资源。沙盒数据存储是...

    IOS学习之IOS沙盒(sandbox)机制和文件操作

    IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。通过这张图只能从表层上...

    iOS_SandBox沙盒路径获取

    在iOS应用开发中,"沙盒"(Sandbox)是一个重要的概念,它是每个应用程序的专属运行环境,确保了不同应用之间的数据隔离和安全性。每个iOS应用都有自己的沙盒目录,包含若干子目录,用于存储应用的数据、缓存、文档...

    史上最好用的沙盒封装Sandbox

    Sandbox是一种安全机制,苹果在iOS系统中引入这一设计,目的是为了保护用户的数据安全和隐私。每个iOS应用程序都有自己的独立沙盒空间,不能随意访问其他应用的数据,除非明确获得了用户的授权。这种设计大大增强了...

    sandBox沙盒机制的学习

    沙盒机制(SandBox)是计算机安全领域中的一个重要概念,主要用于限制程序的权限,防止它们对系统进行未经授权的访问或操作。在IT行业中,尤其是在移动设备应用开发(如iOS和Android)、网络安全和云计算环境中,...

    iOS端沙盒文件浏览器,可以查看、拷贝、移动、删除等操作.zip

    The iOS sandbox file browser, which has view, copy, move, delete files and other operations. iOS端沙盒文件浏览器,可以查看、拷贝、移动、删除等操作.zip

    ios-IOS沙盒Files目录说明和常用操作.zip

    在iOS应用开发中,了解和掌握iOS沙盒的Files目录是非常关键的,因为这是应用程序存储、读取和管理数据的主要场所。"iOS沙盒Files目录说明和常用操作"这一主题涵盖了如何有效地利用这个系统来实现数据持久化。下面将...

    ios-沙盒文件管理.zip

    在iOS应用开发中,每个应用程序都有自己的专属空间,被称为“沙盒”(Sandbox)。这个沙盒文件管理系统是iOS安全模型的重要组成部分,旨在保护用户的数据安全,并限制应用程序之间的相互访问。"ios-沙盒文件管理.zip...

    iOS 沙盒图片保存读取实例

    在iOS沙盒中,有三个主要的文件目录:Documents、Library 和 tmp。本篇将详细讲解如何在iOS沙盒中保存和读取图片。 1. **保存图片到沙盒** - 首先,你需要获取到要保存的图片,这可以通过`UIImage`对象实现。 - ...

    swift-CPU内存MemoryNetworkFPS实时监测查看沙盒sandbox

    本文将详细讲解如何通过Swift实现对CPU、内存、网络和FPS(帧率)的实时监控,以及如何查看应用的沙盒(sandbox)。 1. CPU 监测: CPU 使用率是衡量应用运行效率的重要指标。通过获取系统时间片的分配情况,可以...

    简单掌握iOS应用开发中sandbox沙盒的使用

    以下是关于iOS沙盒机制、如何打开沙盒路径、目录结构以及如何在沙盒中进行文件操作的详细说明: 一、iOS沙盒机制 iOS应用的沙盒由Apple强制执行,每个应用都有独立的文件系统空间,这包括应用程序本身、资源文件...

    沙盒SimPholders2

    在计算机术语中,沙盒(Sandbox)是一种安全机制,用于限制程序的权限,使其只能在特定的、隔离的环境中运行。这种环境限制了应用程序对系统资源的访问,防止其对其他程序或系统整体造成破坏。每个应用程序都有自己...

    沙盒的一个小demo

    在应用程序开发过程中,沙盒机制特别有用,尤其是对于移动平台如iOS和Android。开发者可以使用沙盒来测试应用程序的功能,确保它们在不干扰其他应用程序或系统服务的情况下正常运行。例如,在iOS设备上,每个应用...

    举例详解iOS开发过程中的沙盒机制与文件

    在iOS开发中,沙盒(Sandbox)机制是苹果为了保障用户隐私和应用程序安全而设计的一种强制性隔离策略。每个应用程序都有自己的独立沙盒环境,不允许随意访问其他应用的文件或者系统敏感信息。沙盒机制使得应用之间的...

    36-沙盒封装.zip

    在本资料"36-沙盒封装.zip"中,我们将深入探讨iOS沙盒的概念、结构以及它如何影响应用程序的开发。 首先,让我们了解什么是沙盒。在iOS操作系统中,每个应用程序都被分配一个称为“沙盒”的独特存储区域。这个沙盒...

    LibTerm:具有Python,Lua和Clang的iOS沙盒终端

    4. **iOS沙盒终端**: 沙盒是iOS应用安全模型的核心部分,每个应用都有自己的沙盒环境,限制其对系统资源的访问。LibTerm在沙盒内运行,这意味着所有执行的操作都受到严格的权限控制,确保不会对系统造成破坏。 5. *...

Global site tag (gtag.js) - Google Analytics