2015-09-04 24 views
2

我在斯威夫特的問題......但讓我先描述了工作的罰款Objective-C的解決方案:如何編譯Xcode中的Swift文件可選?

在Objective-C,我創建的頭文件Developer.h帶來了一些開發商的#define特定

#define DEV_USERNAME @"dev_username" 
#define DEV_PASSWORD @"dev_password" 

這填充了默認值的登錄字段,所以我不需要每次輸入用戶名和密碼。

Developer.h被從GIT存儲庫中排除,因此每個處理該項目的開發人員都可以輸入他們自己的登錄詳細信息,並且每次提交/推送時都不會被覆蓋。

如果repo是新克隆的,那麼Developer.h在項目中不存在(Xcode中的文件的紅色),但項目仍然成功構建,因爲成功構建不需要頭文件。

所以,我想通過創建Developer.swift文件做斯威夫特同樣的事情常量

let DEV_USERNAME = "dev_username" 
let DEV_PASSWORD = "dev_password" 

現在我面對的不存在的文件時,項目新克隆的問題。這意味着在Xcode中新克隆的構建失敗,因爲成功構建需要.swift源文件。

只是想問問是否有人有這個問題的解決方案。無論是化妝特別迅速文件「可選」編譯...或者一些GIT溶液(即拉Developer.swift在克隆文件只是第一次,然後不接觸它了)

回答

2

由於這樣的回答:

https://stackoverflow.com/a/1753078/1616513

注意:您可以只在本地忽略文件。因此,在開發人員提取代碼後,他需要導航到.git/info/exclude並將該文件添加到該文件。它的語法與git ignore文件相同。

該命令可能不會立即生效,因此運行

的git更新指數--assume-不變/path/to/nameOfTheFile.swift

現在,您可以將文件添加到項目和版本控制,但一旦他們開發人員這樣做,他們不必擔心不小心將其交給主人。

+0

我試過這個......但是現在當我嘗試切換分支時遇到了問題......說:「您對本地文件的更改將被checkout覆蓋:path/to/MyExcludedFile.swift 請提交你的更改或存儲他們之前,你可以切換分支。任何想法如何避免這種情況?(似乎我現在無法提交此文件) –

+0

嘗試git checkout -m branchname它會在變化中合併。 –