Iphone SQLite数据库因SVN而缓存

Iphone SQLite数据库因SVN而缓存,iphone,svn,sqlite,core-data,Iphone,Svn,Sqlite,Core Data,我的iPhone应用程序使用核心数据和SQLite数据库;正在使用SVN跟踪版本。向数据库添加数据不会反映在应用程序中。我确保将项目从模拟器中删除,并将新数据库作为文件添加到项目中。我怀疑数据正在另一个位置缓存 请注意,即使直接编辑,SVN也不会显示对数据库的任何更改。此外,如果我将项目复制并粘贴到一个新文件夹,删除隐藏的svn文件夹,删除构建文件夹,编辑数据库,从模拟器中删除项目,然后编译并运行,那么它第一次就可以工作。之后,数据再次缓存在某个未知位置 你知道这可能在哪里吗 更新: 解决方案是

我的iPhone应用程序使用核心数据和SQLite数据库;正在使用SVN跟踪版本。向数据库添加数据不会反映在应用程序中。我确保将项目从模拟器中删除,并将新数据库作为文件添加到项目中。我怀疑数据正在另一个位置缓存

请注意,即使直接编辑,SVN也不会显示对数据库的任何更改。此外,如果我将项目复制并粘贴到一个新文件夹,删除隐藏的svn文件夹,删除构建文件夹,编辑数据库,从模拟器中删除项目,然后编译并运行,那么它第一次就可以工作。之后,数据再次缓存在某个未知位置

你知道这可能在哪里吗

更新: 解决方案是退出我的SVN客户端(版本)。我仍然不确定这如何影响数据库的更新;我认为它不会阻止或恢复任何更改。我现在可以编辑和保存更改


谢谢大家的帮助。

这里的问题可能不止几件。如果您通过引用将SQLite DB添加到项目中,并且没有对代码进行任何更改,那么当您单击“Build”时,将不会看到已更改的DB资源被复制。基本上,Xcode在感知(引用的)资源发生变化时存在长期问题。执行干净的构建是您的核心选择,因为根据编译时间的不同,它可能需要相当长的时间。更好的选择是从构建目录中删除.app捆绑包。这不会花费Xcode那么长的时间来重建,尽管如果您有很多资源,也可能需要一段时间。最好的选择(我使用的方法)是在引用包含的文件夹的根级别保留一个“虚拟”文件(假设它是一个空白文本文件),当我更新资源时,我将对虚拟文件进行更改,撤消更改,然后点击保存(在Xcode内)。这会触发Xcode中的某些内容递归地遍历包含的目录,以查看是否有任何更改


除此之外,如果您正在修改DB文件,而SVN告诉您尚未对其进行更改,则会出现一些其他问题。简单地说,您确定DB文件已经添加并签入到SVN,所以SVN知道它吗?您确定您正在编辑与在SVN中签入的文件相同的文件吗?

可能是数据库在别处吗?您是否尝试手动打开数据库以查看是否存在正确的记录?

谢谢您的回复。我一直在清理所有目标。我还尝试删除.app文件并重新编译。我得到了同样的结果。SVN似乎只知道文件何时被删除。编辑数据库不会显示任何更改。我尝试了你关于在xCode中保存的建议,甚至编辑了一行代码,结果还是一样的。请注意,同样的行为发生在没有SVN文件夹的项目副本中,这让我怀疑SVN可能不是罪魁祸首。您如何添加资源?是否参考?是否有其他同名资源?是否有构建前或构建后的过程正在对资源进行处理?我将db拖到xcode项目的一个文件夹中。我单击“必要时复制”。它显示项目目录中的数据库以及.xcodeproj