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应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。通过这张图只能从表层上...
Sandbox 沙盒 IOS 开发 缓存
封装了沙盒路径的获取方法,导入文件后调用方法可以快速获取沙盒路径
一个简单的demo来获取沙盒的各个文件夹路径、写入简单的文件、读取简单的文件。
The iOS sandbox file browser, which has view, copy, move, delete files and other operations. iOS端沙盒文件浏览器,可以查看、拷贝、移动、删除等操作.zip
一、iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下,包括图片,属性文件plist,bundle,nib文件等,这块区域称之为沙盒(sandBox)。 每个应用都有属于...
LibTerm:具有Python,Lua和Clang的iOS沙盒终端
SendSandBoxFileSwiftiOS8沙盒机制更新后无法查本地文件,给开发带来困扰。使用本库可以把沙盒中文件通过AirDrop、QQ、邮件发送出来,支持多选文件、发文件夹。pod 'SendSandBoxFileSwift'pod install直接使用let ...
为了安全起见,iOS系统把每个app及其数据都放在各自的沙盒(sandbox)里面,每个app只能访问自己沙盒目录内的文件和数据等。在安装新的app时,安装程序会在沙箱目录中为app创建多个容器目录,每一个容器目录都有特定...
iOS真机沙盒查看器!像正常在Finder中操作文件一样,增删文件。 安装 使用CocoaPods 播客文件 platform :ios, '7.0' pod 'XCSandboxViewer' pod install 用法 启动查看器。 在AppDelegate.m应用程序中:...
iSimulator iSimulator,iOS Simulator Sandbox(模拟器沙盒),类似于简化程序,是一个macOS应用程序,用于查找模拟器的沙盒并运行。
iOS内购实现及测试CheckList.免费+应用内购买的模式已经被证明了是最有效的盈利模式,所以实现内购功能可能是很多开发者必做的工作和必备的技能了。但是鉴于内购这块坑不算少,另外因为sandbox测试所需要特定的配置...
《iOS冰与火之歌》系列的目录如下:Objective-CPwnandiOSarm64ROP在非越狱的iOS上进行AppHook(番外篇)AppHook答疑以及iOS9砸壳(番外篇)利用XPC过App沙盒在iOS上有很多IPC(内部进程通讯)的方法,最简单最常见的...
迅捷沙盒 包含各种Swift示例和iOS应用程序的存储库。 专案 到目前为止,可以在此存储库中找到以下应用程序: :单视图iOS应用程序,允许用户输入猫的年龄,并返回猫年的年龄。 :单视图iOS应用程序,该应用程序...
ios-Spritekit Shader-Sandbox 最后更新:2021年4月18日。如果您喜欢该项目,请给它加星号 :star: 它将向创作者表示感谢,并帮助其他人发现存储库。 :writing_hand: 关于一个iOS项目,演示如何在SpriteKit框架中使用...
主要在iOS上使用,沙盒配置文件也存在于macOS上。 据我们所知,SandBlaster是第一个将二进制沙箱配置文件反转为其原始SBPL格式的工具。 SandBlaster从版本7开始(包括iOS 11)可在iOS上运行。 技术报告提供了有关...
分析沙盒 示例应用程序演示如何启动和运行 iOS 版 Google 跟踪代码管理器 ######快速开始 使用以下任一选项将最新的 Google Analytics Services SDK(包括 GTM)添加到您的 Xcode 项目: ####Step 1.(使用 ...
NetDevOps实验室 与一起使用的示例代码,示例和资源 预约沙盒实验室 您可以预订沙盒实验室。...git clone --recurse-submodules https://github.com/DevNetSandbox/sbx_multi_ios.git 第三步:安装