我将一些JSON配置文件与我的应用程序捆绑在一起。
它们通过Xcode使用文件夹引用(显示为蓝色文件夹图标)包含在内。
果然,可以在捆绑下的应用程序中找到这些文件夹中的文件。修改文件(即更改JSON内容)也可以。
但是,我添加/删除了这些文件夹中的一些文件,但我仍然看到旧文件,而不是我测试设备上的新文件。
我尝试删除该应用并重新启动设备,但是当我再次在设备上运行应用时,我仍然只看到旧的捆绑文件。
模拟器被说服通过模拟器重置来查看新文件集 - 对于真实设备来说不是一个好的选择。这在开发中很痛苦,但不适用于已发布的应用程序。
我很高兴知道为什么会这样,以及如何解决这个问题,以便最新的文件夹内容与设备同步。
答案 0 :(得分:1)
从使用“文件夹引用”构建的应用程序中可靠地删除过期文件的唯一方法是进行干净构建(不仅应用程序被删除并完全重新构建,而且“Derived Data”文件夹完全是清理干净)。
AFAIK,Xcode中没有内置规则来从使用文件夹引用构建的目标中删除已删除的文件。我经常看到这个,当我使用的项目将所有图像(或一些资源)放入一个文件夹,然后后续版本保留旧文件(及其旧文件名)仍然存在,即使它们不在原始文件中源代码文件夹。
这似乎是某人有机会编写Xcode插件或某些工具来验证构建的应用程序/目标的内容,以确保其中的文件是一对一的匹配。