2011-09-24 109 views
7

我發現了幾個對XCode中構建設置的引用,名爲EXCLUDED_SOURCE_FILE_NAMES - 下面的模式提示了它的工作方式。但我無法弄清楚如何在XCode(4.02)中使用這個選項。如何在XCode 4(iOS)中使用EXCLUDED_SOURCE_FILE_NAMES

「EXCLUDED_SOURCE_FILE_NAMES [SDK =的iPhoneOS *] [拱= *]」 = ...

的目標是具有一個或多個源文件編譯,當目標是模擬器,以及一組不同的源的當目標是iOS設備時編譯文件。

我想我需要告訴xcode每個目標的文件列表。那麼,我如何使用這個設置來實現呢? XCode在哪裏?有沒有關於如何做到這一點的文件?

我還需要用靜態庫做同樣的事情。具體來說 - 我有一個靜態lib,我想包括在我的項目中,但是lib只支持arm而不是i386,所以,當爲模擬器構建時,我需要排除這個文件被鏈接!

可以這樣做嗎?

回答

9

基本上EXCLUDED_SOURCE_FILE_NAMES將剛剛從構建配置

如果你想從構建配置中刪除靜態庫中刪除這些文件,那麼這是要走的路。

要實現這一點,只需轉到目標的「Build Settings」,然後點擊「Add Build Setting」按鈕併爲您的目標添加EXCLUDED_SOURCE_FILE_NAMES配置。

然後,您可以指定要排除的每個版本的配置,其文件名...

你的情況,因爲你提不同的文件列表,那麼你或許應該創建2套應用程序束,然後排除在EXCLUDED_SOURCE_FILE_NAMES

束所以,如果你創建了一個名爲simulator.bundle包和一個名爲release.bundle你會排除發行配置的simulator.bundle文件,並在模擬器配置release.bundle包...

+6

我還會補充一點,EXCLUDED_SOURCE_FILE_NAMES預計會有幾個ems由空格分隔,而不是逗號。即「pattern1 * pattern2」是正確的,而「pattern1 *,pattern2 *」將不起作用。 –