• iOS开发之获取沙盒路径


    iOS开发之沙盒机制(SandBox)具体解说了沙盒的一些机制。在开发中,我们须要对沙盒进行操作。所以我们须要获取到沙盒路径。

    沙盒里的目录包含Documents、Library、tmp。这三个目录的作用请点击这里。接下来我们来解说怎样获取Documents、Library、tmp的路径。

    获取沙盒根文件夹

    获取沙盒根文件夹。直接调用NSHomeDirectory():

     //获取沙盒根文件夹
    NSString *directory = NSHomeDirectory();
    NSLog(@"directory:%@", directory);
    

    控制台输出:

    2015-07-22 00:40:16.185 iOSStrongDemo[1605:555658] directory:/var/mobile/Containers/Data/Application/F9418815-51A9-4A0A-A76C-6FD37C400928
    

    这个是真机的路径,大家有时间的话能够看看模拟器的根文件夹路径。

    获取Documents路径

    获取Documents路径例如以下:

    //获取Documents路径
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSLog(@"path:%@", path);
    

    控制台输出:

    2015-07-22 00:41:41.397 iOSStrongDemo[1613:556159] path:/var/mobile/Containers/Data/Application/A62B886B-A8F0-4215-B59D-1F505C3997BD/Documents
    

    获取Documents文件夹文件夹,第一个參数是说明获取Doucments文件夹文件夹,第二个參数说明是在当前应用沙盒中获取。

    获取Library路径

     //获取Library路径
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSLog(@"path:%@", path);
    

    控制台输出:

    2015-07-22 00:43:15.803 iOSStrongDemo[1619:556638] /var/mobile/Containers/Data/Application/17300507-4643-4DE7-BC68-E13DB19C8D98/Library
    

    获取Caches路径

    //获取Caches路径
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSLog(@"path:%@", path);
    

    控制台输出:

    2015-07-22 00:44:31.383 iOSStrongDemo[1626:557083] path:/var/mobile/Containers/Data/Application/1E945B52-E29D-4041-A489-1AA1B11BB960/Library/Caches
    

    获取tmp路径

    NSString *tmp = NSTemporaryDirectory();
    NSLog(@"tmp:%@", tmp);
    

    控制台输出:

    2015-07-22 00:46:07.846 iOSStrongDemo[1632:557537] tmp:/private/var/mobile/Containers/Data/Application/4BE02307-1CC5-47E8-BEA8-CEBB7ED5A402/tmp/
    

    以上是iOS开发中获取沙盒路径的方法。或许还有更好的获取方法等待我们去发现。后面我们还会讲到关于在沙盒里进行读写文件操作。

  • 相关阅读:
    C#多线程参数传递
    Delphi单元测试工具Dunit介绍
    使用javascript生成文件
    Windows自动登录源码
    [Win32]一个调试器的实现
    用MASM写一个简单的实现递归操作的汇编程序,所谓递归,上课已经跟大家说清楚了,如果我们只考虑简单的只分一次的递
    C#多线程编程(4)多线程与UI操作
    在Delphi中实现类型安全的容器,Delphi泛型库DGL引介(提供源码下载) .
    delphi 中几种多线程操作方式
    C#实现WEB服务器
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6885299.html
Copyright © 2020-2023  润新知