iOS开发 应用程序沙盒 SandBox

作者: 小黑Swift | 来源:发表于2016-04-06 00:33 被阅读212次

    iOS 为每个应用提供了一个独立的文件空间,该空间称为沙盒。
    应用与系统交互时候大都数情况都限制在自己房间,系统提供了某些公共API接口,如相册、联系人等。在应用安装时候,安装器会为应用创建一系列容器。如下图

    SandBox
    MyApp.app

    应用程序包,这里面存放应用程序的源文件

          //访问方式
          let bundlepath = NSBundle.mainBundle().bundlePath
          // 比如该目录下有个 666.wav 文件 ,获取该文件目录
          let path = NSBundle.mainBundle().pathForResource("666", ofType: "wav") 
          // - /Users/.../Applications/.../SwiftSandBox.app/666.wav
    
    Documents

    存储用户产生的内容

        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
    
    Library

    程序的默认设置或其它状态信息

        let paths = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)
    
    Library/Application Support
        let paths = NSSearchPathForDirectoriesInDomains(.ApplicationSupportDirectory, .UserDomainMask, true)
    
    Library/Caches

    iTunes不备份该目录,用于存放缓存文件,文件不会在应用退出删除

        let paths = NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true)
    
    tmp

    保存应用运行时所需要的临时数据

        let tempPath = NSTemporaryDirectory()

    相关文章

      网友评论

        本文标题:iOS开发 应用程序沙盒 SandBox

        本文链接:https://www.haomeiwen.com/subject/deoplttx.html