zoukankan      html  css  js  c++  java
  • ios的沙盒机制

    1、IOS沙盒机制

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

    1.1、每个应用程序都有自己的存储空间
    1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容
    1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。

    2、模拟器沙盒目录

    文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library。

    3、目录结构

    默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。因为应用的沙盒机制,应用只能在几个目录下读写文件

    1. Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

    2. Library:存储程序的默认设置或其它状态信息;

    2.1 Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除

    3.tmp:提供一个即时创建临时文件的地方。

    iTunes在与iPhone同步时,备份所有的Documents和Library文件。

    iPhone在重启时,会丢弃所有的tmp文件。

    //获取各文件的路径
    NSArray *paths = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    
       NSString *tmpDir = NSTemporaryDirectory();
    
    
    //获得一个文件的全路径
    NSString *fullPath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:fileTep.text];
    //剪切文件
        [[NSFileManager defaultManager] moveItemAtURL:location toURL:
    [NSURL fileURLWithPath:fullPath] error:nil];
    
    //写入文件
    NSArray *array = [[NSArray alloc] initWithObjects:@"内容",@"content",nil];
        [array writeToFile: fullPath atomically:YES];
    
  • 相关阅读:
    宝宝打疫苗
    【小工具】2. 需要对测试用的数据进行MD5加密
    【小工具】1.需要对txt存放的测试数据做去重处理
    【Jenkins】定时构建语法
    【bug】记一个有趣的“bug”
    1.由于测试某个功能,需要生成500W条数据的txt,python代码如下
    开发基于vue前端框架下的系统的UI自动化,记录总结踩的坑
    使用Chrome-headless模式下,截屏不全屏的问题
    Chrome-headless 模式,没有UI界面的自动化UI测试
    【selenium】Webdriver的原理以及工作流程
  • 原文地址:https://www.cnblogs.com/xzk-it/p/6551673.html
Copyright © 2011-2022 走看看