记录一个iOS沙盒使用的问题

news/2024/7/20 21:27:25 标签: ios, cocoa, macos

app每次启动沙盒路径是会变的

在开发中,我们经常要使用到沙盒,有时候要将资源的路径保存到本地
这时候有一个主意事项,就是我们不能记录完整的沙盒路径,只能记录
NSSearchPathForDirectoriesInDomains 之后的路径,
因为,每次启动app所创建的NSSearchPathForDirectoriesInDomains 路径都是不一样的,如果我们记录了完整的路径,那么下次启动的时候,就会创建一个新的路径,导致我们使用原来的路径无法获取之前的资源

示例

我们创建了一个沙盒路径

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
        NSString *path = [paths lastObject];
        NSString *diskCachePath = [NSString stringWithFormat:@"%@%@",path,@"/fillGameCache"];
        //初始化文件管理类

多次启动,我们查看路径

/Users/liubo/Library/Developer/CoreSimulator/Devices/BDEB3071-C064-4C98-8DE5-A2C401982809/data/Containers/Data/Application/F79DF001-F58F-46A3-899D-1FE7C4FD7A86/Library/fillGameCache

/Users/liubo/Library/Developer/CoreSimulator/Devices/BDEB3071-C064-4C98-8DE5-A2C401982809/data/Containers/Data/Application/1DFC0395-5907-460E-98F9-5DE921748928/Library/fillGameCache/_36a10e304c8511ee9edad53c34e576279507219


/Users/liubo/Library/Developer/CoreSimulator/Devices/BDEB3071-C064-4C98-8DE5-A2C401982809/data/Containers/Data/Application/1DFC0395-5907-460E-98F9-5DE921748928/Library/fillGameCache/_36a10e304c8511ee9edad53c34e576279507219


/Users/liubo/Library/Developer/CoreSimulator/Devices/BDEB3071-C064-4C98-8DE5-A2C401982809/data/Containers/Data/Application/F79DF001-F58F-46A3-899D-1FE7C4FD7A86/Library/fillGameCache
```![请添加图片描述](https://img-blog.csdnimg.cn/5e08cbf97c6e41c18960deb7c1582512.jpeg)

如上图所示,每次启动获取到的沙盒路径都不一样
所以,我们只记录Domain后面的路径就可以了

 [TPUserDefault instance].fillGameSkinPath = path.lastPathComponent

http://www.niftyadmin.cn/n/5008647.html

相关文章

深入了解CRM软件系统的功能与优势

在当今竞争激烈的商业环境中,许多企业都采用了CRM系统帮助他们更好地管理客户信息、提高销售业绩和增强客户满意度。那么,CRM系统主要包括哪些功能呢?本文将详细介绍CRM系统的各种功能。 1. 客户管理 CRM系统的核心功能之一是客户信息管理。…

C++那些事之Step by step上手grpc

C那些事之grpc小Demo github上比较火的rpc有grpc、brpc,腾讯内部比较牛逼的trpc等等,这些rpc支持不同的语言、不同平台。今天来聊聊如何使用grpc,从一个简单的demo入手,整个项目使用CMake构建,一个非常标准的rpc项目管…

2023国赛数学建模A题思路分析 - 定日镜场的优化设计

# 1 赛题 A 题 定日镜场的优化设计 构建以新能源为主体的新型电力系统, 是我国实现“碳达峰”“碳中和”目标的一项重要 措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。 定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件&…

python+django医院住院收费管理系统设计与实现vue

基于Python语言设计并实现了医院管理系统。该系统基于B/S即所谓浏览器/服务器模式,应用B/S框架,选择MySQL作为后台数据库。系统主要包括首页、个人中心、用户管理、医生管理、科室管理、挂号管理、接诊管理、诊断结果管理、开处方管理、药房管理、药品出…

Qt实现图书管理系统(C++)

文章目录 数据库表的实现创建表将powerDesigner里面的表导出成xxx.sql脚本将SQL文件导入数据库创建表 图书管理系统思维导图创建工程开发阶段创建Dlg_login登录页面login页面样式主页页面布局主函数测试login设置logo打包程序子页面的样子将子页面放到StackedWidget里面按钮直接…

Vue3后台管理系统Element-plus_侧边栏制作_无限递归

在home.view中添加代码 <template><div><div class"common-layout"><el-container><el-header class"common-header flex-float"><div class"flex"><img class"logo" src"../assets/logo…

归并排序-面试例子

小数和问题 描述 在一个数组中&#xff0c;一个数左边比它小的数的总和&#xff0c;叫数的小和&#xff0c;所有数的小和累加起来&#xff0c;叫数组小和。求数组小和。 例子 5 2 6 1 7 小和原始的求法是&#xff1a;任何一个数左边比它小的数累加起来。 5左边比它小数累加…

什么是网络存储服务器

网络存储器就像一台只有存储功能的终端&#xff0c;独立地工作&#xff0c;里面带有固定的系统&#xff0c;但可以自己设置部分参数功能&#xff0c;可以接入服务器或者电脑进行设置&#xff0c;网络存储服务器实际上就是精简的、小型化的服务器&#xff0c;同样由主板、CPU&am…