2012-07-23 63 views
2

合作伙伴和我正在通過Git管理Xcode項目。他最近對項目進行了「本地化」,該項目使用多個文件爲項目添加了一個德語目錄(「de.lproj」)。在我將這些改變拖到項目副本後,Xcode現在無法編譯抱怨此目錄中的兩個文件不存在。這些文件存在於文件系統中,但在Xcode側邊欄中顯示爲紅色(缺失)。Git pull後Xcode看不到的項目文件

有沒有辦法強制Xcode重建它的內部文件目錄,以便它可以「重新發現」這些文件確實存在?

請注意,我也嘗試過這個Git項目的新「克隆」,以及相同的結果。

+0

這些文件在您的機器上真的缺失嗎? – 2012-07-23 15:03:39

+0

不,他們在場。但是,我只注意到Xcode正在嘗試使用絕對路徑來引用這兩個文件,當然我的合作伙伴和我有不同的絕對路徑。我將嘗試刪除並重新引入這些文件,也許Xcode將使用這次的「組」路徑。 – EFC 2012-07-23 15:24:40

+0

這是一個XCode問題,這可能是因爲您已經將這些文件移至其他目錄。解決此問題的一種快速方法是刪除XCode中的「丟失的文件引用」,然後從文件系統中重新添加這些文件。 – neevek 2012-07-23 15:33:59

回答

2

我找到了解決方案,但不從Xcode的文件 -

  1. Project Navigator,找到文件(不被人發現紅色),並選中它。
  2. 顯示File Inspector
  3. Location變化Absolute PathRelative to groupRelative to project
  4. 然後旁邊的路徑,有一個白色的小圖標,單擊它並選擇該文件的位置。
4

事實證明,這是由Xcode記錄在project.pbxproj文件中的絕對組路徑和組路徑的情況。由於我不明白的原因,當我的合作伙伴本地化我們的項目時,一些文件被添加到Xcode使用絕對路徑。當我拉取該版本的項目時,我的Xcode副本無法找到這些文件,因爲絕對路徑與我的絕對路徑不匹配。即使這些文件在項目中並且由Git正確傳輸,Xcode也找不到它們。

我的解決方案是使用Xcode刪除這些文件。由於這些是本地化文件,我實際上必須刪除本地化文件的「父」版本。我告訴Xcode只刪除對這些文件的引用。然後我將這些文件從Finder拖回到Xcode中。這次Xcode將它們插入爲「相對於組」,一切都很好。

我承諾並將這些更改推回到我們的遠程Git存儲庫。我的合作伙伴能夠將這些內容拉到他的副本上,並且也爲他工作。

我們都不明白爲什麼這些文件是作爲絕對引用插入的,但至少我們能夠使用此解決方法使項目再次可移植。

相關問題