2011-11-06 113 views
71

在一個XCode項目中,我取消了xcodeproject/project.pbxproj文件的修改,但對我無用的信息,它用於編譯。我應該忽略xcodeproject/project.pbxproj文件嗎?

我應該忽略這個文件和xcodeproject/projectxworkspace/username.xcuserdata/UserInterfaceState.xcuserstate文件嗎?

+0

.xcuserstate文件可以忽略,只是不是pbxproj文件。 –

+0

不,這裏是你的答案: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects – jeswang

回答

94

該文件包含項目中所有文件的列表,目標的設置以及哪些文件屬於哪些目標。這可能是項目包中最精華的文件。你不應該忽略此文件。這裏有幾點:

  1. 你可能不想單獨工作這個項目或;
  2. 您正在計劃從不同機器上處理項目;
  3. 您將需要與其他人分享您的代碼庫;
6

這是您想要在xcodeproj捆綁軟件的repos中使用的唯一文件。該文件包含目標文件和構建設置的所有信息。

+0

這個答案可能曾經是正確的,但目前是錯誤的。它擁有「所有信息」(例如,自定義可執行文件存儲在不同的文件中,例如工作區存儲在不同的文件中等等),這也不是真的,也不是真的,它是你的「唯一文件」想要存儲。 C.F.關於什麼包含在.gitignore的問題 - http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects – Adam

+0

似乎很好的想法......在未來遵循。 –

0

我發現我還需要保留xcworkspace文件。如果沒有,項目打破子項目。

2

不幸的是,如果你的構建設置包括代碼簽名,如果其他團隊成員改變了它,你必須在每次「git pull」之後重新輸入你的代碼簽名實體。在我看來,這個信息應該在用戶設置中,而不是全局的pbxproj文件。

+1

您可以設置代碼簽名,以便項目中的每個人都擁有與項目中的相同(共享)設置相匹配的不同代碼簽名配置文件,例如,通過使用通配符名稱,然後你們每個人單獨匹配或通過例如所有人都在同一個iTunes團隊並共享配置文件。 – Adam

2

如果排除project.pbxproj,Jenkins構建將失敗。所以如果你使用詹金斯,這很重要。

相關問題