我们看看如何获取应用程序沙盒目录。包括真机的沙盒的目录。
1、获取程序的Home目录
NSString *homeDirectory = NSHomeDirectory();
NSLog(@"path:%@", homeDirectory);
|
打印结果:
2012-06-17 14:00:06.098 IosSandbox[3536:f803] /Users/rongfzh/Library/Application Support/iPhone Simulator/5.1/
Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2
|
那在真机上的目录有是怎么样的呢?我们看看
2012-06-17 14:25:47.059 IosSandbox[4281:f803] /var/mobile/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2
可见,真机上的目录是/var/mobile/Applications/这个目录下的,和模拟器不一样。这个是Home目录,其他的子目录和模拟器一样。
2、获取document目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSLog(@"path:%@", path);
|
打印结果
2012-06-17 14:00:06.099 IosSandbox[3536:f803] path:/Users/rongfzh/Library/Application Support/iPhone Simulator/5.1
/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Documents
|
3、获取Cache目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSLog(@"%@", path);
|
打印结果:
2012-06-17 14:03:50.431 IosSandbox[3628:f803] /Users/rongfzh/Library/Application Support/iPhone Simulator/5.1
/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Library/Caches
|
4、获取Library目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSLog(@"%@", path);
|
打印结果:
2012-06-17 14:07:17.544 IosSandbox[3733:f803] /Users/rongfzh/Library/Application Support/iPhone Simulator/5.1
/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Library
|
5、获取Tmp目录
NSString *tmpDir = NSTemporaryDirectory();
NSLog(@"%@", tmpDir);
|
打印结果:
2012-06-17 14:08:07.824 IosSandbox[3782:f803] /var/folders/g7/246bh79130zblw0yjjtc55cw0000gn/T/
|
6、写入文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
if (!docDir) {
NSLog(@"Documents 目录未找到");
}
NSArray *array = [[NSArray alloc] initWithObjects:@"内容",@"content",nil];
NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];
[array writeToFile:filePath atomically:YES];
|
注:我们在真机上也运行一下,把文件写入,下一步从真机上把内容读取出来。
写入输入 array ,里面是两个字符串,一会我们读出来打印。
写入我们在程序沙盒目录下看到文件 testFile.txt
打开文件看到的内容是这样的,是个xml格式的plist文件,数据格式保存了内容。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>内容</string>
<string>content</string>
</array>
</plist>
|
7、读取文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];
NSArray *array = [[NSArray alloc]initWithContentsOfFile:filePath];
NSLog(@"%@", array);
|
打印结果:
把上面的文件解析后,把内容打印出来了。
2012-06-17 14:14:46.249 IosSandbox[3918:f803] (
"\U5185\U5bb9",
content
)
|
真机上读取并打印文件路径:
2012-06-17 14:25:47.059 IosSandbox[4281:f803] /var/mobile/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Documents/testFile.txt
(
"\U5185\U5bb9",
content
)
真机上也能写入和打印。
分享到:
相关推荐
IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。通过这张图只能从表层上...
封装了沙盒路径的获取方法,导入文件后调用方法可以快速获取沙盒路径
一个简单的demo来获取沙盒的各个文件夹路径、写入简单的文件、读取简单的文件。
一、iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下,包括图片,属性文件plist,bundle,nib文件等,这块区域称之为沙盒(sandBox)。 每个应用都有属于...
The iOS sandbox file browser, which has view, copy, move, delete files and other operations. iOS端沙盒文件浏览器,可以查看、拷贝、移动、删除等操作.zip
Sandbox 沙盒 IOS 开发 缓存
像正常在Finder中操作文件一样,增删文件。 安装 使用CocoaPods 播客文件 platform :ios, '7.0' pod 'XCSandboxViewer' pod install 用法 启动查看器。 在AppDelegate.m应用程序中:didFinishLaunchingWithOptions...
iSimulator iSimulator,iOS Simulator Sandbox(模拟器沙盒),类似于简化程序,是一个macOS应用程序,用于查找模拟器的沙盒并运行。
为了安全起见,iOS系统把每个app及其数据都放在各自的沙盒(sandbox)里面,每个app只能访问自己沙盒目录内的文件和数据等。在安装新的app时,安装程序会在沙箱目录中为app创建多个容器目录,每一个容器目录都有特定...
SendSandBoxFileSwiftiOS8沙盒机制更新后无法查本地文件,给开发带来困扰。使用本库可以把沙盒中文件通过AirDrop、QQ、邮件发送出来,支持多选文件、发文件夹。pod 'SendSandBoxFileSwift'pod install直接使用let ...
《iOS冰与火之歌》系列的目录如下:Objective-CPwnandiOSarm64ROP在非越狱的iOS上进行AppHook(番外篇)AppHook答疑以及iOS9砸壳(番外篇)利用XPC过App沙盒在iOS上有很多IPC(内部进程通讯)的方法,最简单最常见的...
SandBlaster:反转Apple Sandbox SandBlaster是用于反转(反编译)二进制Apple沙箱配置文件的工具。 Apple沙箱配置文件以类似于方案的语言SBPL(沙箱配置文件语言)编写,然后被编译为未记录的二进制格式并发货。 ...
ios-Spritekit Shader-Sandbox 最后更新:2021年4月18日。如果您喜欢该项目,请给它加星号 :star: 它将向创作者表示感谢,并帮助其他人发现存储库。 :writing_hand: 关于一个iOS项目,演示如何在SpriteKit框架中使用...
迅捷沙盒 包含各种Swift示例和iOS应用程序的存储库。 专案 到目前为止,可以在此存储库中找到以下应用程序: :单视图iOS应用程序,允许用户输入猫的年龄,并返回猫年的年龄。 :单视图iOS应用程序,该应用程序...
LibTerm:具有Python,Lua和Clang的iOS沙盒终端
示例应用程序演示如何启动和运行 iOS 版 Google 跟踪代码管理器 ######快速开始 使用以下任一选项将最新的 Google Analytics Services SDK(包括 GTM)添加到您的 Xcode 项目: ####Step 1.(使用 CocoaPods...
iOS内购实现及测试CheckList.免费+应用内购买的模式已经被证明了是最有效的盈利模式,所以实现内购功能可能是很多开发者必做的工作和必备的技能了。但是鉴于内购这块坑不算少,另外因为sandbox测试所需要特定的配置...
与一起使用的示例代码,示例和资源 预约沙盒实验室 您可以预订沙盒实验室。 在预订过程中,您可以选择“无”进行仿真,因为在安装过程中我们将启动所需的拓扑。 启动VIRL服务器和您的devbox大约需要15分钟。 稍等...