iOS应用文件夹的明细

作者: 张俊凯 | 来源:发表于2018-06-27 20:43 被阅读48次

沙盒路径

NSHomeDirectory()
/var/mobile/Containers/Data/Application/213DA05A-7967-49A5-83C0-B34C0C626C56 

关于/var文件夹的解释是 "/var" is usually used for log files, 'temporary' files (like mail spool, printer spool, etc), databases, and all other data not tied to a specific user. Logs are usually in "/var/log", databases in "/var/lib" (mysql - "/var/lib/mysql"), etc.
/var 通常用来存储系统运行时日志文件,临时文件和公用数据,从沙盒的路径来看,var文件夹存储了iOS系统中所有app运行后产生的数据,沙盒是一个以唯一字符串命名的文件夹。

临时文件路径

在沙盒下的tmp文件夹中

NSTemporaryDirectory()
/var/mobile/Containers/Data/Application/213DA05A-7967-49A5-83C0-B34C0C626C56/tmp/

app用户的文件夹路径 Documents

[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) firstObject]
/var/mobile/Containers/Data/Application/213DA05A-7967-49A5-83C0-B34C0C626C56/Documents 

临时库文件夹 Library

[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES) firstObject]
/var/mobile/Containers/Data/Application/213DA05A-7967-49A5-83C0-B34C0C626C56/Library

缓存文件夹在库文件夹的下一级

[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) firstObject]
/var/mobile/Containers/Data/Application/213DA05A-7967-49A5-83C0-B34C0C626C56/Library/Caches

==============分割线=================

应用的bundle路径 同样也在var文件夹下,按理说应该在usr里的

[[NSBundle mainBundle] bundlePath]
/var/containers/Bundle/Application/37770E10-9334-46D2-AE64-24D0D0D45616/name.app/

总结:

  • 沙盒文件夹存储在 unix-like 系统的 /var/mobile/Containers/Data/Application/ 文件夹下 (移动-容器-数据-应用)
  • NSBundle mainBundle 的路径是
    /var/containers/Bundle/Application/ 文件夹下(容器-包-应用)
  • NSData writetToFile 方法无法在bundle文件夹中进行写入操作,文件夹为只读属性。

补充
info.plist在mainBundle里,所以获取info.plist的方法是

[[NSBundle mainBundle] infoDictionary];

参考链接:1. https://serverfault.com/questions/384342/what-are-the-best-practices-of-the-usr-var-and-etc-folders
2.https://blog.csdn.net/liudukun/article/details/23994039

相关文章

  • iOS应用文件夹的明细

    沙盒路径 关于/var文件夹的解释是 "/var" is usually used for log files, ...

  • ionic场景化应用(一)

    需求: 创业团队,需要安卓,ios和微信端的应用; 这个应用需要有用户管理,留言板,搜索,账单,明细,图表展示等功...

  • iOS--沙盒

    认识沙盒 何为沙盒?沙盒装什么?沙盒:系统为iOS应用创建的非此应用不可读写的文件夹,每个iOS应用都有一个和它一...

  • iOS-拷贝文件/文件夹

    序言 常用的IOS目录 不常用iOS目录 获取应用目录 下面就是这些文件夹获取路径的方法: 1.获取AppName...

  • iOS开发 向“文件APP”曝露Documents数据

    原理 iOS11之前由于iOS的沙盒机制我们无法看到应用里边的任何文件。在我们应用的沙盒里边,有三个文件夹供我们使...

  • iOS沙盒路径

    iOS应用目录下有三个文件夹:Documents、Library、temp以及一个.app包!该目录下就是应用程序...

  • 文件操作--NSFileManager

    iOS的沙盒机制,应用只能访问自己应用目录下的文件。默认情况下,每个沙盒含有3个文件夹:Documents, Li...

  • iOS开发--沙盒存储

    沙盒简介 iOS中每个应用程序都有一个独立的文件夹,这个文件夹就是沙盒。沙盒用来存储app的本地文件,例如:音频、...

  • git stash 删除恢复

    应用场景 stash 手贱删除找回 列出所有stash明细 应用stash

  • iOS文件基本操作

    iOS沙盒分为以下几个文件夹 1. Document: 程序创建或者应用浏览产生的文件数据 2. Library:...

网友评论

    本文标题:iOS应用文件夹的明细

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