以前一直没有在意这个问题,今天”中奖”了 ;(
在Xcode文件夹视图中会发现2种颜色的文件夹图标:黄色和蓝色.
黄色表示组(groups),蓝色表示文件夹(folder).
组只是逻辑上定义,其中的文件在生成的App包里还是散开在根目录中,而文件夹会在最终的App包里生成对应的文件夹层次.
而且在Xcode 6.4中,如果想完全更新(update)App中的资源,不能简单点击Product->clean或clean build folder文件菜单,这样最新做的删除可能得不到更新.
取个例子:原来一个xxx.lua文件在Prj的xxx组中,这时该文件在生成App的根目录中,原因前面已经说了.
于是我们将xxx.lua从Xcode中删除,也从物理磁盘上删除.编译运行App:app包中还是有xxx.lua…
本猫是这样做彻底更新的:
- 停止运行的app
- Product->clean和clean build folder
- 删除该项目对应的DerivedData文件夹
- 重新编译运行
再说一个问题.
代码中访问xxx.lua的路径为”xxx/xxx.lua”,这时自然找不到文件.如果把代码中的路径改为”xxx.lua”是没问题的,但我们不想修改代码,不是吗!?
于是自作聪明的猫猪找到实际的App包,在根目录中新建一个xxx目录,然后将xxx.lua放进去.然后编译运行App,发现还是找不到路径,到实际App包里去看,路径里的文件是有的,路径都是对的,但是不行…此路不通.
估计app还做了其他检查,它认准的是Xcode生成的包中的内容.
所以如前所述正确的做法是在Prj中建立一个文件夹而不是groups!本例中,要认准”蓝瓶”的,才是OK的!
时间: 2024-11-30 10:56:10