2012-01-23 35 views
11

我剛剛在我的項目中爲debugpreviewrelease設置了three different configurations。在Xcode中沒有選項可以爲每個配置指定不同的.xconfig文件。我現在想知道在什麼情況下他們應該/可以被使用,以及他們的優點是什麼,而不是每個配置編輯build settings何時使用.xcconfig文件

回答

8

如果您發現自己正在爲您創建的每個項目更改相同的構建設置,請使用xcconfig文件。將您要更改的構建設置放在xcconfig文件中。通過使用xcconfig文件,您可以避免每次創建項目時編輯這些構建設置。

通過爲每個構建配置使用不同的xcconfig文件,您可以將不斷更改的調試構建設置放置在一個xcconfig文件中,並將您在另一個xcconfig文件中更改的發佈構建設置。如果您正在更改的構建設置對於調試版本和發佈構建有不同的值,或者如果您僅針對調試構建以及僅針對發佈構建的其他構建設置更改某些構建設置,則使用多個xcconfig文件。

+0

專業提示:您可以在這些文件中使用'#include「shared.xcconfig_include」'在發佈/調試文件中包含共享選項。 –

2

我使用過xcconfig文件的一種方法是爲iPhone應用程序設置不同的BundleId。這樣,您可以啓用不同功能/服務器的不同應用程序。很有幫助。它涉及使用BundleId的變量名稱。

+3

你可以添加一個例子嗎? – Besi

5

這不是我問你關於@Besi的一個例子,但我想解釋爲什麼BundleId的改變對我來說至少是有用的。

當我對「開發」,「Ad Hoc」,「App Store」有不同的要求時,例如我需要發送推送通知,因此推送證書會因版本而異。

在這種情況下,我可以製作3種不同的XCode方案,並且根據所選的方案,編譯包標識符時會發生變化,從而產生不同類型的版本。

除此之外,您可以使用xcconfig選擇「Code Sign Identity」,並且幾乎可以設想每個構建設置。這種方式比每個版本具有不同的目標以及不同的plist文件和構建設置更正確,因爲您可以避免重複,並且可以自定義設置應該相互覆蓋的方式。

對不起,如果這是非常複雜的,我試着回答過程中的原始問題。

+0

如何根據Xcode方案更改包標識符?預構建操作? – Legoless

相關問題