关于iOS写入文件,重启app路径发生变化的处理
2018-05-18 本文已影响287人
无敌大闸蟹
项目有个需求 就是把图片写入到本地 然后下次进app直接从本地去加载图片 等提交的时候再把全部的图片全部上传, 然后删除本地对应路径的图片
在开发时 获取相机拍摄的UIImage对象之后

我把image转成了NSData 然后获取了沙盒路径 自己在沙盒路径后面拼接了一些文件名之类的
path就是我写入的地址 path打印为
/var/mobile/Containers/Data/Application/E416C4EC-723A-460F-9C19-358FE9963AD0/Documents/兜山柏山村YD/第1站点/lizhijun@tyicd.com_20180518100418_5101_240度.png
在我重启app之后我通过filePath去加载这个地址的文件的时候 我居然取了个nil,然后我发现 我每次打开app 执行NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];这句代码获取沙盒路径的时候 E416C4EC-723A-460F-9C19-358FE9963AD0这一串字符串会发生改变,上网看了下资料 很多人都说这个不影响通过文件名去取文件 但是我存的是之前的路径 所以就出现了这样的问题 所以奉劝各位不要把路径存到本地数据库 如果要存 也不要拼接沙盒的路径去存
如果真的存了的话每次重新获取docPath 替换掉之前的那段地址就好
