我有一些二进制文件,具有专有的扩展名,当我编译时,它不会在构建中得到更新.在同一个项目的
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?我看不到书面机制..)