2011-12-27 65 views
21

我做了一個輕量級的遷移,我決定我不想要了。有什麼辦法只是刪除文件?我已經將當前的模型版本更改爲之前的版本,並且該應用程序正在運行。但是,當我在Xcode文件查看器中右鍵單擊.xcdatamodel文件時,「刪除」呈灰色。我也嘗試從Finder中刪除文件,但它將Xcode中的文件保存爲紅色。從Xcode中刪除.xcdatamodel文件?

有什麼辦法解決這個問題嗎?

+2

我不知道,但我很好奇,如果有人回答這個問題。我能找到的唯一方法就是手動編輯項目文件並將其刪除。 –

+0

將git用於您的所有項目。然後很容易看到改變和恢復的內容。 – trapper

回答

25

是的 - 做了這麼多,就我所知,唯一的辦法就是在你最喜歡的原始文本編輯器(vim ftw!)中打開YourProject.xcodeproj/project.pbxproj,然後搜索並刪除違規模型文件。即:

D6A5760112F22213004DEDCE /* MyModel.xcdatamodeld */ = { 
    isa = XCVersionGroup; 
    children = (
    D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */, 
    D6931E6214D78135007F0E03 /* MyModel-V11.xcdatamodel */, 
    D61403DD14B7857100323E6D /* MyModel-V10.xcdatamodel */, 
    D675476B149BD1F3007C160C /* MyModel-V9.xcdatamodel */, 
    D6199DD5143DE428002869C1 /* MyModel-V8.xcdatamodel */, 
); 
    currentVersion = D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */; 
    name = MyModel.xcdatamodeld; 
    path = aPath/MyModel.xcdatamodeld; 
    sourceTree = "<group>"; 
    versionGroupType = wrapper.xcdatamodel; 
}; 

因此,在這種情況下,我去打獵爲D6199DD5143DE428002869C1的兩個實例,並從項目文件中刪除他們兩個,和Bang:鮑勃的叔叔。另外 - 你可以重新排列上面那些孩子的大小,以防你想要更高的孩子。

我這樣做後,我通常在模型-V8目錄上執行手動源repo刪除命令。

+0

謝謝!直到我需要(使用新的遷移)時,我最終沒有使用不需要的.xcdatamodel文件,但這看起來像是最好的* real *解決方案。 – aopsfan

+0

我正在尋找解決這個問題的方法。我也發現有更多的文件準備好可能的刪除,例如在xcdatamodel本身 – Leonardo

+0

順便說一句,這也是我用來重新排序行fwiw的技術。 –

3

這也可以從項目中刪除.xcdatamodeld(只是刪除,而不是刪除)。然後,在Finder(或終端)中刪除冒犯.xcdatamodel文件。最後,在項目中重新導入.xcdatamodeld