iOS沙盒机制
来源:互联网 发布:php在线手册 编辑:程序博客网 时间:2024/06/11 19:50
iOS沙盒是apple公司的为了提高程序的安全性而做出的硬性规定:应用程序只能访问系统为它创建的目录里的文件。
可以通过mac的finder来查看xcode模拟器里的沙盒:
1. 操作步骤:finder->前往-> 前往文件夹(下图示):
2.在弹出的对话框中些如~/Library或~/资源库,点击"前往":
3. 在弹出的资源库中找到Application Support-->iphone simulator并执行下图的操作:
上图选中的一长串16进制32位长度的文件夹下每个app的沙盒,里面一般包含三个文件夹和一个.app:
其中document用来保存程序运行过程中产生的文件,library用于保存程序的默认设置,tmp及时一些临时文件。app格式文件前面是一个禁止符号,英文mac上不能运行ios的程序。你可以通过鼠标右键点击.app文件,然后点击下拉列表的“显示包含内容”,你可以看到诸如下图所示的内容:
没错,这个文件就是我们平常经常提到的bundle,比如说我想获取info.plist(见上图)文件路径:
NSString *plistPath = [[NSBundlemainBundle]pathForResource:@"info"ofType:@"plist"];
下面是一些通过代码获取沙盒里文件夹路径及
创建文件和读写文件的操作:
//bundle 名字
NSString *bundle = [[NSBundlemainBundle]bundleIdentifier];
//获取沙盒的根路径:
NSString *dirHome = NSHomeDirectory();
NSLog(@"root_path:%@", dirHome);
//获取Document路径:
NSArray *docPath =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *docDir = [docPath objectAtIndex:0];
NSLog(@"document_path:%@", docDir);
//获取Library路径
NSArray *LibPath =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
NSString *LibDir = [LibPath objectAtIndex:0];
NSLog(@"LibraryPath:%@", LibDir);
//获取tmp路径
NSString *tmpDirectory = NSTemporaryDirectory();
NSLog(@"tmpPath:%@", tmpDirectory);
//创建文件夹
NSFileManager *fileManger = [NSFileManagerdefaultManager];
NSString *directory = [docDir stringByAppendingString:@"/hello"];
BOOL bRet = [fileMangercreateDirectoryAtPath:directorywithIntermediateDirectories:YESattributes:nilerror:nil];
if (bRet) {
//创建文件
NSString *filepath = [directory stringByAppendingString:@"/test.txt"];
BOOL bSuccess = [fileManger createFileAtPath:filepath contents:nilattributes:nil];
if(bSuccess){
NSLog(@"文件创建成功.");
//写文件数据:
NSString *content = @"文件文本内容!";
BOOL bWrite = [contentwriteToFile:filepathatomically:YESencoding:NSUTF8StringEncodingerror:nil];
if(bWrite){
NSStringEncoding encode = NSUTF8StringEncoding;
//读文件数据:
NSString *readContent = [NSStringstringWithContentsOfFile:filepathusedEncoding:&encodeerror:nil];
NSLog(@"readContent:%@", readContent);
}
}
else{
NSLog(@"文件创建失败.");
}
}
else{
NSLog(@"文件夹创建失败.");
}
- iOS沙盒机制
- IOS:沙盒机制
- iOS沙盒机制
- ios沙盒机制
- iOS沙盒机制
- IOS 沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- ios沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- iOS沙盒机制
- IOS沙盒机制
- 如何将计算机加入域
- [sql] left() 和 concat() 解析
- 由于初始化参数文件修改错误导致oracle无法startup
- Linux的Shell编程 Shell基本语法
- 延长SparkContext初始化时间
- iOS沙盒机制
- 安卓activity和fragment之间切换动作--左右滑动的效果
- html5实现弹出提示框,并且伴随遮罩层并且可以关闭弹出框
- 僵尸进程
- 大数求和
- iOS越狱包
- python+Eclipse+pydev环境搭建
- PHP 数组排序内置函数
- Excel Sheet Column Title