ios游戏中的documents文档是什么

ios游戏中的documents文档是什么,第1张

文档如下:

Documents目录:这是文档目录。有关应用的所有数据文件应该写入到这个目录下,这个目录用于存储用户数据或者其他应该定期备份的信息。iTunes会同步改应用程序的此文件内容,适合存储一些重要的数据。

简介:

iOS是由苹果公司开发的移动 *** 作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad上。iOS与苹果的macOS *** 作系统一样,属于类Unix的商业 *** 作系统。

原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010年WWDC上宣布改名为iOS(iOS为美国Cisco公司网络设备 *** 作系统注册商标,苹果改名已获得Cisco公司授权)。

iOS11之前由于iOS的沙盒机制我们无法看到应用里边的任何文件。在我们应用的沙盒里边,有三个文件夹供我们使用来存储文件。分别是Documents、Library、tmp。

在iOS11 以后新增了一个“文件”APP,集中管理iOS上应用内创建的文件,以及各个云盘服务中保存的文件。在iOS工程infoplist中设置Application supports iTunes file sharing和Supports opening documents in place这两个选项为YES(默认为NO),就可以将该应用的沙盒路径Documents文件暴露在“文件”APP中。

由于ios8改了一系列的文件路径,将应用的程序文件与用户文件分别放到了两个路径,使得查找一个应用的后台文件变得困难。不过查看应用后台文件的方法还是有的:

工具:

iFile

icleaner pro

步骤:

1、打开“iCleaner pro”,下拉找到“自定义文件和文件夹”开关,如图,设置为打开状态。

2、在“添加项目”,即如图框选的地方点一下。

3、在“路径”这里点一下放大镜图标。

进入var/mobile/Containers路径,这里面

Bundle文件夹是应用程序文件目录

Data文件夹是应用的用户文件目录

举个例子,想用ifile找到天天动听的用户文件目录,在里面把里面下载的一首歌《气球》cut一下,粘贴到一个新建的文件夹“music”里面。 *** 作如下:

进入路径:var/mobile/Containers/Data/Application

如图,找到“天天动听”,记下下面一组数字字母的前几个,比如小编记“7E001”

4、使用iFile进入路径:var/mobile/Containers/Data/Application

找“7E001”开头的文件夹,这就是天天动听的用户文件目录。

打开“7E001”文件夹,里面的documents——Download就是下载音乐存放的路径。

新建了一个名为“music”的文件夹,把Download里的《气球》剪切——粘贴到music里面就OK了。

--沙盒内部:

--内部文件作用:

-- Documents:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录。

苹果建议将在应用程序中浏览到的文件数据保存在该目录下。

-- Library:

Caches:

一般存储的是缓存文件,例如视频等,此目录下的文件不会再应用程序退出时删除。

在手机备份的时候,iTunes不会备份该目录。

例如音频,视频等文件存放其中

Preferences:

保存应用程序的所有偏好设置iOS的Settings(设置),我们不应该直接在这里创建文件,

而是需要通过NSUserDefault这个类来访问应用程序的偏好设置。

iTunes会自动备份该文件目录下的内容。

比如说:是否允许访问,是否允许访问地理位置

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

1)获取沙盒的Home目录

//获取根目录

NSString homePath = NSHomeDirectory();

NSLog(@"Home目录:%@",homePath);

2)获取沙盒的Documents目录

/ 获取Documents文件夹目录,

@param NSDocumentDirectory 获取Document目录

@param NSUserDomainMask 是在当前沙盒范围内查找

@param YES 展开路径,NO是不展开

@return testtxt文件的路径

/

NSString filePath =[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

NSUserDomainMask,YES)firstObject]stringByAppendingPathComponent:@"testtxt"];

3)获取Library文件路径

/

获取Library目录下文件路径

@param NSLibraryDirectory 获取Library目录

@param NSUserDomainMask 在当前的沙盒范围内查找

@param YES 展开路径,NO不展开路径

@return testtxt文件的路径

/ NSString filePath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,

NSUserDomainMask, YES)firstObject]stringByAppendingPathComponent:@"testtxt"];

4)获取Library/Caches文件目录

/

获取Library目录下文件路径

@param NSCachesDirectory 获取Library/Caches目录

@param NSUserDomainMask 在当前的沙盒范围内查找

@param YES 展开路径,NO不展开路径

@return testtxt文件的路径

/NSString filePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,

NSUserDomainMask, YES)firstObject]stringByAppendingPathComponent:@"testtxt"];

5)获取Library/Preferences文件目录

Preferences由系统维护,不需要我们手动的获取文件路径进行 *** 作,而是需要借助NSUserDefault来 *** 作,但是我们是可以获取到这个文件的。

/

获取Library目录下文件路径

@param NSLibraryDirectory 获取Library目录

@param NSUserDomainMask 在当前的沙盒范围内查找

@param YES 展开路径,NO不展开路径

@return testtxt文件的路径

/

NSString filePath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,

NSUserDomainMask, YES)firstObject]stringByAppendingPathComponent:@"Preferences"];

6)获取tmp文件路径

/

获取tmp文件目录下的文件路径

@return testtxt的文件路径

/

NSString filePath = [NSTemporaryDirectory()stringByAppendingPathComponent:@"testtxt"]

7)向沙盒中写入文件

//向沙盒中写入文件

NSString documentsPathW = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)[0];

//写入文件

if (!documentsPathW) {

NSLog(@"目录未找到");

}else {

NSString filePaht = [documentsPath stringByAppendingPathComponent:@"testtxt"];

NSArray array = [NSArray arrayWithObjects:@"code",@"change", @"world", @"OK", @"", @"是的", nil];

[array writeToFile:filePaht atomically:YES];}

8)向沙盒中读取文件

//从沙盒中读取文件

NSString documentsPathR = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)[0];

NSString readPath = [documentsPathR stringByAppendingPathComponent:@"testtxt"];

NSArray fileContent = [[NSArray alloc] initWithContentsOfFile:readPath];

NSLog(@"文件内容:%@",fileContent);

1)获取应用程序包的路径

NSString imagePath = [NSBundle mainBundle]resourcePath;

-- 程序包文件,包含了资源文件和可执行文件AppNameapp

2)获取程序包中一个资源路径的方法(applepng)

NSString imagePath = [[NSBundle mainBundle]pathForResource:@"apple" ofType:@"png"];

注意:

1imageWithname这种加载的方式的是有缓存的,第二次在加载时直接从内存中取出,

这样的话效率更高,但是会使得内存变得越来越大,通常使用在,内存较小,

而且需要频繁使用的地方。

2NSBundle mainBundle 是通过获取的全路径来加载的,

不会有缓存,但是这样每次就得重新加载,它也不会是在不是在使用完后就释放,

而是在下一次使用的时候才会释放,所以需要我们在使用完后,手动来释放内存。

3)将NSData类型的数据存储到本地(以为例)

以上就是关于ios游戏中的documents文档是什么全部的内容,包括:ios游戏中的documents文档是什么、iOS开发 向“文件APP”曝露Documents数据、iOS8越狱后用iFile找APP的数据的路径是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9579679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存