ios – 资源文件不能使用Xcode 5进行更新

前端之家收集整理的这篇文章主要介绍了ios – 资源文件不能使用Xcode 5进行更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一些二进制文件,具有专有的扩展名,当我编译时,它不会在构建中得到更新.在同一个项目的 Xcode的以前版本中,它会检测到文件被更改,很少像我这个版本一样执行“Clean”.当然,这会耗费更多的时间 – 如果有人能让我知道Xcode 5有什么变化和/或我可以做些什么,我会感激的.

我没有包含任何项目细节,因为它只是一个专有的二进制文件,在资源文件夹中具有自定义扩展名,用于自上次编译以来自动更新.如果您需要任何特定的项目设置,我将很乐意提供.

它使用的是“蓝色”资源文件夹,该文件夹是对其所在文件夹的引用,不会被复制到项目目录中.我很抱歉,因为我忘记了这个特定的资源文件夹类型被调用(我猜猜参考).

版本:Xcode 5(5A1413)

更新:

只有当我引用一个使用fopen,fwrite等编程方式修改文件,以及在OSX中使用文件编辑器来重新保存文件(而不是真正改变它)时,Xcode就会看到它被更改.

我现在正在研究FSEvents,看看这个底层的API是否需要使用,尽管我还不太清楚如何设置标志.

更新:

那么,就像一个简单的测试一样,我拿同一个文件,通过以下方法重新保存:

NSData* data = [[NSData alloc] initWithContentsOfFile: @"/location/file.dat"];
[data writeToFile:@"/location/file.dat" atomically:YES];

果然,在我打电话之后,然后运行使用该资源的应用程序,它在构建期间通过Xcode进行更新.所以看来,Xcode 5依赖于标准io功能不设置的一些特殊标志.在这一点上,我可以补丁这个2行的东西,或者弄清楚标记机制是什么,以及如何写入它. (FSEvents?我看不到书面机制..)

解决方法

我也遇到了问题. Xcode 5之前的一切都很好,我引用的资源文件夹可以非常可靠地复制.然而,更新后,无论我对单个文件做了什么(触摸它,删除和重新复制等),没有任何触发Xcode再次舀起来.

但是,我现在在构建步骤中修改引用文件夹的最后一次写入时间,现在内容似乎正在正确复制.我希望这也有助于你.

我使用自定义工具,但我确定一个构建脚本可以做同样的工作.我的猜测是,Xcode尝试优化依赖关系步骤,并在潜入之前检查文件夹的最后访问/写入时间.

猜你在找的iOS相关文章