今天在处理一个文件读取的时候意识到的,这个以前也遇到过,所以就记录下。下面这两个是同一个软件在不同文件夹的内容,xcode模拟的。

1.


/Users/Damon/Library/Developer/CoreSimulator/Devices/FE76C1FC-0FCE-49CC-B88F-47E2F478665A/data/Containers/Data/Application/A3DBF95D-6A34-48BF-82EB-9663DBCFEF9F/Documents/download/data/chapter_info/mission_41.xml


2.

/Users/Damon/Library/Developer/CoreSimulator/Devices/FE76C1FC-0FCE-49CC-B88F-47E2F478665A/data/Containers/Bundle/Application/80C03F01-1FA8-4142-892D-977B488F16DC/XXXXXXX.app/download/char/role_40_1.png


这两个路径的不同造成处理也不相同的结果。

第一个其实就是真正的文件读取路径,也就是CCFileUtils::sharedFileUtils()->getWritablePath() + downloadFolder;

而第二个其实就是xcode打的软件包里面的东西,就是包里面的东西,如果处理的时候,第二个是没有用的,用的还是第一个,除非不是网络更新的资源,而是固定写的资源。

如果用到网络更新的资源,就需要修改第一个里面的,而单纯的修改软件里面的话,应用一更新,照样是读取的第一个,也就造成了实效。

就比如说我要设置一个按钮的图片,如果是写死的,那么就是第二个的,反正不会更新,然后我只要更新第二个里面的相应的图像,按钮的图片就会更新,因为软件写的时候就是设置的读取软件里面的。

而如果这个我是需要网络更新资源的图片,因为在软件里面设置的就是Documents里面的图片,所以读取的时候其实就是读取的第一个文件夹里的资源,这时候就算修改软件里面的,但是他读取的还是第一个里面的,终究原因就是当初创建按钮的时候看读取的哪个资源,就对应的更新哪个资源才可以。


☟☟可点击下方广告支持一下☟☟

最后修改:1970 年 01 月 01 日
请我喝杯可乐,请随意打赏: ☞已打赏列表