iOS开发 应用程序沙盒 SandBox

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

iOS开发 应用程序沙盒 SandBox_第1张图片
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)