沙盒Sandbox介绍

每一个应用程序都会有一个这样的沙盒文件:


下面详细介绍如何获取沙盒中的文件路径:

//NSHomeDirectory() 表示取得当前xxx.app文件所在的根目录

    NSString *homeDir = NSHomeDirectory();
    NSLog(@" homeDir is %@",homeDir);
    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/C5621CB2-013F-4FE7-96A2-73B5592BA9E4
    
    //取得应用程序目录
    NSString *appDir = [[NSBundle mainBundle]bundlePath];
    NSLog(@"appDir is %@",appDir);
    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Bundle/Application/B20C014B-1A45-41E3-B3BD-55D53B78C269/UINavignonBar.app
    
    //获得Documents所在的目录数组
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *Documents = [paths objectAtIndex:0];
    NSLog(@"Documents is %@",Documents);
    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/BFDE472C-117B-4104-86C0-FEDF4F2C6E90/Documents
   

   

   //NSBundle 获取xxx.app文件资源内容的一种方式

   

   //第一种方式:添加图片文件时选 Create groups 时:

 

    //这种方式添加的资源文件夹颜色为黄色, 该文件夹是假的文件夹,在实际xxx.app中并不存在黄色的文件夹,而是直接把图片资源放到xxx.app文件夹下,所以此方法图片文件名必须不能重复。


   //方法一获取

    NSString *path1 = [[NSBundle mainBundle] pathForResource:@"pic1" ofType:@"png"];
    //Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/C03145E0-2D37-4048-AB6A-0A963A46867D/UINavignonBar.app/pic1.png

    //方法二获取

   NSString *path11 = [[NSBundle mainBundle]pathForResource:@"pic1.png" ofType:nil];

    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/C03145E0-2D37-4048-AB6A-0A963A46867D/UINavignonBar.app/pic1.png
    NSLog(@"path1 is %@  \n path11 is %@",path1,path11);
    
    

    //第二种方式:添加资源文件时选 create folder references 时:

 

    //这种方式添加的资源文件夹的颜色为绿色,该文件是真正存在xxx.app文件下的文件夹

  //方法一获取  

  NSString *path2 = [[NSBundle mainBundle]pathForResource:@"pic1" ofType:@"png" inDirectory:@"images"];

    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/0FF265CA-1553-4383-9B42-910EBF4EA692/UINavignonBar.app/images/pic1.png
    

  //方法二获取

  NSString *path22 = [[NSBundle mainBundle]pathForResource:@"pic2.png" ofType:nil inDirectory:@"images"];

    ///Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/0FF265CA-1553-4383-9B42-910EBF4EA692/UINavignonBar.app/images/pic2.png
    

   //方法三获取

NSString *path222 = [[NSBundle mainBundle]pathForResource:@"images/pic2.png" ofType:nil inDirectory:nil];

    //Users/yao/Library/Developer/CoreSimulator/Devices/5EC6F579-B784-42A3-A875-6FE1AEF68583/data/Containers/Data/Application/B8A6AE88-6895-4B02-AB63-6D6E969F0770/UINavignonBar.app/images/pic2.png
    
    NSLog(@"path2 is %@  \n path22 is %@ path222 %@",path2,path22,path222);




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值