• 沙盒


    一  iOS的沙盒机制(SandBox)

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

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

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

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

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

        Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录,如果保存了下载的数据,程序提交会被直接被拒绝

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

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

        Library/Preferences:偏好设置文件

        tmp:提供一个即时创建临时文件的地方,在iPhone在重启时,会丢弃所有的tmp文件。

    获取沙盒目录的方法

       //在模拟器上,沙盒目录是变化的,所以每次都要打印

    //    NSString * path = NSHomeDirectory();

           NSArray * array = @[@1,@2,@3,@4,@5];

        //获取沙盒目录的方法

        NSString * path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

        //追加文件名

        path = [path stringByAppendingPathComponent:@"data.plist"];

        [array writeToFile:path atomically:YES];

         NSLog(@"%@",path);

    偏好设置,用户信息,是否推送,是否支持3G.

        NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];

        存储偏好数据

        [ud setObject:@"11" forKey:@"age"];

        [ud setInteger:20 forKey:@"weight"];

         setObject + synchronize

      马上存入本地

        [ud synchronize];

      从本地获取

       NSLog(@"%@", [ud objectForKey:@"username"]);

        [ud removeObjectForKey:@"age"];

  • 相关阅读:
    Python之路第二篇——Python环境与安装
    div层、fieldset分组标签、table表格的居中特效的综合运用
    在不影响系统的情况下给C盘添加磁盘空间(分区工具)
    C# windowsFroms更换皮肤的简单使用
    第二代居民身份证阅读器GTICR100(国腾)接口类调用方法
    C# 指定字符串截取方法
    C# 报表(report)和LocalReport类如何实现打印?
    RewriterURL实现二级域名的访问
    如何修改VS2012产品使用权属于某某的名称?
    OS与Internet
  • 原文地址:https://www.cnblogs.com/ycg0808/p/5284810.html
Copyright © 2020-2023  润新知