沙盒路径

获取沙盒根路径

NSString * homePath=NSHomeDirectory();

找到该文件夹,可以发现该路径下有几个文件夹

  • Documents
  • Library
    /Caches
    /Preferences
  • SystemData
  • tmp

那么,他们的获取方式和作用是什么呢?

  • Documents
    保存应用运行时生成的需要持久化的数据iTunes会自动备份该目录。苹果建议将在应用程序中浏览到的文件数据保存在该目录下,不能保存过大的文件。
NSString * docPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
  • Library/Caches
    一般存储的是缓存文件,例如图片视频等,此目录下的文件不会再应用程序退出时删除,在手机备份的时候,iTunes不会备份该目录。
NSString * libPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)firstObject];
NSLog(@"libPath:%@",libPath);
    
NSString * cachePath=[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)firstObject];
NSLog(@"cachePath:%@",cachePath);
  • Library/Preferences
    保存应用程序的所有偏好设置iOS的Settings(设置),我们不应该直接在这里创建文件,而是需要通过NSUserDefault这个类来访问应用程序的偏好设置。iTunes会自动备份该文件目录下的内容。
//直接通过NSUserDefaults进行存取
[[NSUserDefaults standardUserDefaults]setObject:@"a" forKey:@"a"];
[[NSUserDefaults standardUserDefaults]valueForKey:@"a"];
  • Library/子文件夹
    可创建子文件夹,用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份。

  • tmp
    临时文件目录,在程序重新运行的时候,和开机的时候,会清空tmp文件夹。

NSString * tempPath=NSTemporaryDirectory();

你可能感兴趣的:(沙盒路径)