战争ios 获取沙盒路径怎样设置游戏路径

11- iOS获取应用沙盒Sandbox路径和基础保存数据方式 - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了40459字,被156人关注,获得了153个喜欢
11- iOS获取应用沙盒Sandbox路径和基础保存数据方式
第一部分:沙盒Sandbox部分
沙盒Sandbox机制
每个iOS应用都有一个自己的“沙盒”,来服务自己.沙盒中保存着所有的非代码文件,例如图像,图标,声音,映像,属性列表,文本文件等.
“沙盒”有以下特点: 1、应用程序不能翻过自己的围墙去访问别的存储空间的内容
2、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。
3、苹果禁止任何读、写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。 4、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。
iPhone沙盒下有四个文件夹,目录结构如下图:
目录分析:1、Documents: 这个目录用于存储用户数据或其它应该定期备份的信息,iTunes会自动备份该目录. 例如游戏的进度数据
3、Library: 这个目录下有两个子目录:Caches 和 Preferences
Preferences: 包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches: 存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除,一般存放体积比较大,不是很重要的资源,应用程序再次启动过程中需要的信息。
4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息,使用完毕后再将相应的文件从该目录删除,应用没有运行时,系统也可能会自动清理该目录下的文件,iTunes不会同步该目录,iPhone重启时该目录下的文件会丢失。
再次强调:iTunes在与iPhone同步时,备份所有的Documents和Library目录下的文件。iPhone重启之后,会删除所有的tmp目录下的文件。
获取沙盒路径
获取沙盒路径有两种方式,一种是NSHomeDirectory()的形式,一种是NSSearchPathForDirectoriesInDomains()的形式
NSHomeDirectory()的形式: - documents路径
NSString *home = NSHomeDirectory();
NSString *documentsPath = [home stringByAppendingPathComponent:@"Documents"]; // 不建议采用,因为新版本的操作系统可能会修改目录名
NSLog(@"%@",documentsPath);
NSString *tmpPath = NSTemporaryDirectory();
NSLog(@"%@",tmpPath);
documents路径
// 在某个范围内容搜索文件夹的路径
// directory:获取哪个文件夹.这里:NSUserDomainMask 代表从用户文件夹下找
// domainMask:在哪个范围下获取 NSUserDomainMask:在用户的范围内搜索
// expandTilde是否展开全路径, NO:~(选NO存commond+G不进去) YES:显示全路径
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素:
NSString *documentsPath = [array objectAtIndex:0];
NSLog(@"%@",documentsPath);
Preferences路径
NSString *preferenceParh = NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES)[0];
NSLog(@"preferencePath:%@",preferenceParh);
Caches路径
NSString *cachePath =
NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSLog(@"cache:%@",cachePath);
指定沙盒存储验证
范例 - 保存到'Documents'下:
NSString *str = @"123";
NSString *home = NSHomeDirectory();
NSString *documents = [home stringByAppendingPathComponent:@"Documents"]; // 不建议采用,因为新版本的操作系统可能会修改目录名
NSString *documentsfilePath = [documents stringByAppendingPathComponent:@"person.txt"];// 拼接文件名
NSLog(@"%@",documentsfilePath);
[str writeToFile:documentsfilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
保存到'tmp'下:
NSString *tmpPath = NSTemporaryDirectory();
NSString *tmpfilePath = [tmpPath stringByAppendingPathComponent:@"person.txt"];// 拼接文件名
NSLog(@"%@",tmpfilePath);
[str writeToFile:tmpfilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
//读取再保存
NSString *redStr = [NSString stringWithContentsOfFile:tmpfilePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"read:%@",redStr);
NSString *continue2 = [redStr stringByAppendingString:@"噜啦啦啦噜啦啦"];
[continue2 writeToFile:tmpfilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
保存到文件夹目录下
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *testDirectory = [cachePath stringByAppendingPathComponent:@"test"];
// 创建目录
BOOL res=[fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];
if (res) {
NSLog(@"文件夹创建成功");
NSLog(@"文件夹创建失败");
//保存到文件test夹下边
NSString *cacheFilePath2 = [testDirectory stringByAppendingPathComponent:@"cache.txt"];
[str writeToFile:cacheFilePath2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"cache:%@",cacheFilePath2);
其他文件夹下 小结:这里可以得出write写入方式,是覆盖式写入
第二部分:基础保存数据方式
了解沙盒的相关内容之后,更加方便我们进行数据存储的操作.
"谈到数据储存,首先要明确区分两个概念,数据结构和储存方式。所谓数据结构就是数据存在的形式。除了基本的NSDictionary、NSArray和NSSet这些对象,还有更复杂的如:关系模型、对象图和属性列表多种结构。而存储方式则简单的分为两种:内存与闪存。内存存储是临时的,运行时有效的,但效率高,而闪存则是一种持久化存储,但产生I/O消耗,效率相对低。把内存数据转移到闪存中进行持久化的操作称成为归档。" ---引自《》
iOS中,我们常见的四种方式分别为: 1. plist 储存 2. write 文件写入 3. NSKeyedArchiver 归档(序列化) 4. NSUserDefaults 偏好保存 其他SQLite,CoreData我之前有写过,有需要的朋友移步到,博客下还有其他相关文章
四种保存厨房是分析
plist储存:
plist本身就是XML文件.
plist主要保存的数据类型为NSString、NSNumber、NSData、NSArray、NSDictionary等,不能存储自定义对象
永久保存在磁盘中
需要指定保存文件的目录路径
NSUserDefaults:
NSUserDefaults实质就是plist,我们可以在沙盒目录下看到起保存的文件就是一个.plist文件
NSUserDefaults 是一个单例对象,在整个应用程序的生命周期中都只有一个实例。
NSUserDefaults保存的数据类型有:NSNumber, float,double,CGFloat基本数据类型, NSString, NSData, NSArray, NSDictionary等. 其他不同格式的数据,需要转化成对应的
NSUserDefaults一般保存配置信息,比如用户名、密码、是否保存用户名和密码或者一些个人设置中的配置信息。
NSKeyedArchiver:
需要在实体类中实现NSCoding代理(动态归档解档实体属性,可以移步), 实现encodeWithCoder:和initWithCoder:两个归解档方法
写入文件是什么格式,读取的时候就直接是什么格式.
NSString *st2r = @"";
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSLog(@"%@",cachePath);
NSString *filePath = [cachePath stringByAppendingPathComponent:@"dict.plist"]
NSString *dict = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSKeyedArchiver:
//1.创建对象
Person *p=[[Person alloc]init];
p.name=@"2222222";
p.age=1111111;
//2.获取文件路径
NSString *docPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];
NSString *path=[docPath stringByAppendingPathComponent:@"person22222.person"];
NSLog(@"path=%@",path);
//3.将自定义的对象保存到文件中
[NSKeyedArchiver archiveRootObject:p toFile:path];
Person *p = [NSKeyedUnarchiver unarchiveObjectWithFile:path];
NSUserDefaults:
[[NSUserDefaults standardUserDefaults] setObject:&#(nullable id)#& forKey:&#(nonnull NSString *)#&];
[[NSUserDefaults standardUserDefaults] objectForKey:&#(nonnull NSString *)#&];
推荐文章如下:
希望能和大家交流技术
我的博客地址:
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
分享 iOS 开发的知识,解决大家遇到的问题,讨论iOS开发的前沿,欢迎大家投稿~
· 28903人关注
【最新投稿方式】
为了保证专题文章的质量,暂时关闭投稿申请,改为【私信文章链接】给本专题的管理员 (花前月下) (判若...
· 7804人关注
学习从点滴开始 !
(PS: 拒绝部分投稿的文章仅仅是由于专题内已收录相关知识点的文章, 并非是投稿的文章技术含量不够好, 望谅解.)
· 5988人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:04-23【求助】战争沙盘提示 设置路径失败找不到游戏启动程序_坦克世界吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,796,791贴子:
04-23【求助】战争沙盘提示 设置路径失败找不到游戏启动程序
的铁甲舰开始,5级大概...
贴吧热议榜
使用签名档&&
保存至快速回贴沙盘入门以及XVM调♂教教程之——入门安装 | XVM中文官方站当前位置: >
沙盒堡垒战争攻略介绍 沙盒堡垒战争怎么玩(2)
14:29编稿:91UU网&&&()
3、怎么建造防御设备
点击屏幕右下角的锤子标志,可以打开防御设施列表。
将玩家所需要的建筑设施移动到白色方框内的任意位置放置。
4、开拓新的地图
玩家将自己的设备设置建设得差不多了之后,就可以去开拓地图新的视野,这样才能找到敌人的根据地,并且进行战斗。
5、将敌人的根据地摧毁
最后一步就是将敌人的根据地摧毁,玩家要有足够的战斗力和数量较多的小兵才能快速摧毁敌人阵营哦。
本作的画面是率领军团进行战斗的场景,你可以很清楚地看到有多名角色在同时进行射击,战斗相当激烈。另外值得一提的是玩家不能直接操控队伍中的英雄,你为其配备的将直接体现他们的战斗能力,可见打造一套强力的装备是游戏的首要任务。
看了上面的沙盒堡垒战争攻略介绍之后想必大家都知道沙盒堡垒战争怎么玩了吧。
推荐游戏下载
《冰火皇权》
海鸣威献唱《
《皇图》公测
神雕侠侣9月
热门苹果游戏
copyright@
深圳市金矩阵网络有限公司 版权所有
粤ICP备号-1
关注新浪微博:&&&&&&&&&& 关注微社区:后使用快捷导航没有帐号?
查看: 11583|回复: 4
新人欢迎积分1 阅读权限40积分630精华0UID帖子金钱3128 威望0
Lv.4, 积分 630, 距离下一级还需 370 积分
UID帖子威望0 多玩草0 草
今天多玩盒子抽风,本人就去下载了个战争沙盘,但问题是下载好了,解压好了,点击启动游戏被告知未设置游戏路径。
23:43:19 上传
23:43:19 上传
23:43:20 上传
23:43:20 上传
23:43:21 上传
设置路径里除了文件夹还是文件夹。求大神教导如何使用,还是说它只是个分析器?插件也无法下载是因为没有设置路径吗?还有哪些插件比较实用呢?游戏路径是多玩游戏盒的默认路径,今天删掉了盒子。
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&————战六渣敬上% [&&G$ \7 [&&e# b
肉侦送死其疾如风,包抄迂回其徐如林。
抢肉屠幼侵略如火,队友有难不动如山。
新人欢迎积分1 阅读权限90积分21992精华0UID帖子金钱252039 威望10
世间风云兮幻亦真 天地无穷兮大道行
Lv.9, 积分 21992, 距离下一级还需 13008 积分
UID帖子威望10 多玩草450 草
你不用盒子了是吗?
&不用了,盒子战斗力661&
新人欢迎积分1 阅读权限90积分21992精华0UID帖子金钱252039 威望10
世间风云兮幻亦真 天地无穷兮大道行
Lv.9, 积分 21992, 距离下一级还需 13008 积分
UID帖子威望10 多玩草450 草
北区德棍 发表于
今天多玩盒子抽风,本人就去下载了个战争沙盘,但问题是下载好了,解压好了,点击启动游戏被告知未设置游戏 ...
路径设置到游戏的主文件夹就可以了
此目标已阵亡
新人欢迎积分0 阅读权限60积分2996精华0UID4274219帖子金钱7430 威望0
我就是试试自定义头衔功能
Lv.6, 积分 2996, 距离下一级还需 2004 积分
UID4274219帖子威望0 多玩草10 草
这里的路径是指的你坦克世界的游戏客户端的路径~~~~~~
&全体撤离~&
平平淡淡才是真
新人欢迎积分1 阅读权限90积分28766精华0UID帖子金钱11630 威望4
未曾磨难难成人,不经打击总天真!
Lv.9, 积分 28766, 距离下一级还需 6234 积分
UID帖子威望4 多玩草3430 草
北区德棍 发表于
23:46 $ }% u* D&&?0 V( a
今天多玩盒子抽风,本人就去下载了个战争沙盘,但问题是下载好了,解压好了,点击启动游戏被告知未设置游戏 ...0 B- c# t+ l9 c5 _3 L; p
靠!你真小白!设置主文件夹就可以
&弄好了·······&
菜鸟小分队 本菜指定YY: 自己进
带练请私秘,55A任务,MT-TD 100块一个,LT-SPG 150块一个,HT另算。
If you do not leave me .
I will by your side untill the life end.
手机论坛勋章
APP发帖双倍积分,登陆即送勋章!
马年新春勋章
手机APP马年迎春,马上有钱!
坦克世界功勋勋章
对坦克世界论坛做出卓越贡献的玩家
原创先锋勋章
原创先锋勋章
需要金钱:1100
手机盒子客户端点击或扫描下载
Powered by}

我要回帖

更多关于 ios 获取沙盒路径 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信