2009-11-29 150 views
0

有沒有辦法讓XCode與共享文件夾一起玩,並允許多人同時在iPhone應用程序上工作?或者我們是否需要切換到更像SubEthaEdit或其他實時協作工具?共享文件夾和XCode

+1

如果您在其他地方不使用SCM,那麼本地Subversion存儲庫如何? – wkw 2009-11-29 03:47:32

回答

1

Xcode是知道玩文件系統非常糟糕。管理項目時,您有兩個選項,可以將文件夾作爲組或文件夾引用添加。

如果您添加了一個組,那麼該文件夾將被鏡像到Xcode中,但該組不會與文件系統同步,即您可以在組內移動內容,刪除組,不會觸摸FS,反向會使Xcode丟失文件。

第二個選項,添加一個文件夾引用聽起來很甜,但是完全被竊聽。文件夾引用可能無法正確更新,在文件夾內未檢測到更改(如果將圖像文件夾引用添加到資源並更新內容,則在下一次構建時不會更新資源,必須清除&重建)。

這就是爲什麼你不應該使用Xcode(我們在這裏使用vim + SCons並且對它很滿意),或者你需要使用SCM(SCM也可以和其他工具配合使用,你應該使用SCM )。

至於SCM我推薦Mercurial,但也有SVN和Git以及其他很多,我建議你Google一下並提出你的意見。

1

如果您使用SCM,目前最好的方法是檢查project.pbxproj 文件(位於.xcodeproj包中)。大多數情況下,合併很好,有時你必須手動合併,但在這種情況下,90%的時間只需要允許合併的兩個方面。

我的.gitignore文件看起來像:

# xcode noise 
build/* 
*.pbxuser 
*.mode1v3 
*.perspectivev3 
*~ 
*.mode2v3 

您可以使用類似的忽略設定指令其他SCM系統。

文件夾引用對圖像是確定的(如果您更改任何圖像內容,您必須執行「清理」操作),但對源代碼不太好。

1

讓多個人在共享文件夾上工作是災難的祕訣,並且在第一次有人第一次覆蓋您在早上大部分時間編輯的文件時會後悔,因爲他們想更新其中的評論。

獲取一個SCM,讓每個人都檢查他們的代碼到他們自己的私人文件夾中。

當您的構建更快時,您會更高興,因爲您構建的是本地磁盤而不是網絡磁盤。

+1

icefire,這是你應該選擇的答案。像Subversion這樣的代碼管理系統就是爲了處理這種問題而創建的。使用正確的工具來完成這項工作。 – TechZen 2009-11-29 17:06:02

0

如果您正在尋找一個實時協作,即兩個或更多的程序員實際上將同一代碼同時寫入同一個文件,那麼您將需要使用協同編輯器,如subethaedit。您可以將subethaedit設置爲Xcode中源文件的首選編輯器。

這樣,你有一位程序員託管Xcode項目,他在subethaedit中打開源文件。其他程序員然後通過subethaedit登錄到文件。然後宿主程序員在他的本地Xcode中編譯代碼。

但是,正如上面在Rudedog的評論中指出的那樣,如果您只想讓多個人在同一個項目上工作,但在不同文件上工作,則應該使用代碼管理工具。