2010-07-28 56 views
1

我的iPhone應用程序使用核心數據和SQLite數據庫;正在使用SVN跟蹤版本。向數據庫添加數據不會反映在應用程序中。我確信我將該項目從模擬器中刪除,並且新數據庫作爲文件添加到項目中。我懷疑數據正在緩存在另一個位置。由於SVN緩存的SQLite數據庫

請注意,即使直接編輯,SVN也不會對數據庫進行更改。此外,如果我將項目複製並粘貼到新文件夾,請刪除隱藏的svn文件夾,刪除構建文件夾,編輯數據庫,將項目從模擬器中刪除,然後編譯並運行,這是第一次。之後,數據再次被緩存在某個未知的位置。

任何想法,這可能是?

更新: 解決方案是退出我的SVN客戶端(版本)。我仍然不確定這是如何影響DB的更新的;我不認爲它會阻止或恢復任何更改。我現在可以編輯和保存更改。

謝謝大家的幫助。

回答

2

在這裏可能不止是兩件事情出錯。如果您通過引用將SQLite數據庫添加到您的項目中,並且您沒有進行任何代碼更改,那麼當您單擊「構建」時,將看不到已更改的已更改的數據庫資源。基本上,Xcode在檢測(參考)資源發生變化時存在長期存在的問題。做一個乾淨的構建是你的核心選擇,因爲取決於你的編譯時間,它可能需要很長時間。一個更好的選擇是從構建目錄中刪除.app包。這並不需要Xcode重建,但如果你有很多資源,它也可能需要一段時間。最好的選擇(我使用的)是在引用包含的文件夾的根目錄下留下一個「虛擬」文件(假設它是一個空白文本文件),當我更新資源時,我將更改爲虛擬文件,撤消更改,並點擊保存(在Xcode中)。這會觸發Xcode中的某些內容以遞歸方式遍歷包含的目錄,以查看是否有更改。所有這一切,如果你正在修改數據庫文件,並且SVN告訴你,你還沒有對它進行更改,你還有其他問題正在進行。簡單地說,你確定數據庫文件已經被添加到SVN中,SVN知道了嗎?你確定你正在編輯你在SVN中檢查的文件嗎?

+0

謝謝你的回覆。我一直在清理和清理所有目標。我也嘗試刪除.app文件並重新編譯。我得到相同的結果。 SVN似乎只知道該文件何時被刪除。編輯數據庫不會顯示任何更改。我嘗試了關於xCode保存的建議,甚至編輯了一行代碼,結果仍然相同。請注意,在沒有SVN文件夾的項目副本中出現相同的行爲,這使我懷疑SVN可能不是罪魁禍首。 – 2010-07-28 17:53:10

+0

你如何添加資源?參考與否?是否有另一個同名的資源?是否有一個前期或後期構建過程正在對資源進行一些操作? – 2010-07-28 18:42:54

+0

我將db拖入xcode項目到一個文件夾中。我點擊「如果需要複製」。它顯示項目目錄中的數據庫以及.xcodeproj – 2010-07-28 18:52:50

0

難道數據庫在別處嗎?您是否嘗試過手動打開數據庫以查看是否有正確的記錄?