文件已从Xcode项目中删除,但仍可在游戏中使用

时间:2012-08-12 23:18:43

标签: objective-c ios xcode cocos2d-iphone

我的cocos2d-iphone项目已经平铺了地图(.tmx文件和.png纹理)。

最近,我删除了项目中的所有.png纹理(在Xcode中,你点击删除键,然后选择发送到垃圾箱)。

然后,我运行了该项目,并尝试加载CCTMXTiledMap。我原本应该崩溃(不管怎样,项目中不应该有任何纹理),但事实并非如此。事实上,它运行得很好,地图确实加载。不知道为什么 - Xcode是否以某种方式保留了对这些文件的某种引用?

我检查了.tmx文件,这是定义源图像的行:

<image source="myMap-hd.png" width="973" height="1024"/>

我的项目文件夹中肯定没有myMap-hd.pngmyMap.png文件。甚至Xcode的搜索工具栏都没有显示它!

哦,我也清理了这个项目。

3 个答案:

答案 0 :(得分:6)

正如我在评论中写的那样。你的Xcode项目中没有问题。如果您之前使用这些资源运行应用程序,则删除的资源文件很可能仍可在设备/模拟器上使用。原因是Xcode不跟踪应用程序包中的文件,只是简单地复制它们。这就是他们登陆Copy Bundle Resources构建阶段的原因。

您应该从设备/模拟器中删除应用程序并再次运行它。或者,如果您已经在应用程序中拥有宝贵的数据,您可以导航到应用程序包并手动删除文件。文件不会再出现。

答案 1 :(得分:2)

在模拟器中,iOS模拟器(菜单项)&gt;重置内容和设置。清理项目,然后再次运行。没有cocos2D也会发生同样的事情。

答案 2 :(得分:0)

我发现在自动加载nib文件时这是一个问题,而在引用的文件中似乎仍未加载(或尝试)。虽然它们确实存在于文件系统中,但是文件不会出现在Xcode IDE中会导致一些脑痛。