2011-12-14 83 views
4

在我的項目中,我想引用位於InDesign SDK中的其他xcconfig文件。由於這個SDK可能安裝在不同的位置,根據機器,我更願意聲明一個環境變量來定位它。如何在xcconfig中使用環境變量#include?

嵌套步驟顯然是在我的xcconfig include指令中使用變量(正確地命名爲ID_CS5_SDK_DIR)。

不幸的是,當我嘗試簡單

// InDesign sdk project build settings (based on common build settings) 
#include "$(ID_CS5_SDK_ROOT)/build/mac/prj/_shared_build_settings/common.xcconfig" 

的XCode拋出我

[WARN]AutocatPlugin.xcconfig line 7: Unable to find included file "$(ID_CS5_SDK_ROOT)/build/mac/prj/_shared_build_settings/common.xcconfig" 

我怎樣才能使它發揮作用?

+1

老兄注意你接受的答案... – 2012-02-25 14:38:07

回答

5

我一直在嘗試這樣做,也得出了這是不可能的結論。

3

我曾試圖實現這一點,並得出結論,你不能。我會很高興,如果有人證明我們這是可能的,雖然然後刪除我的答案

+0

不是直接的。但是您可以引用應用程序的info.plist中xcconfig中定義的變量,然後訪問info.plist。看到這裏:http://bogardon.github.io/xcode/environment-variables/2013/05/20/configuring-env-variables-in-xcode.html – nmdias 2016-05-17 09:54:14

-4

如果您將環境變量放在/etc/config/launchd.conf中,然後重新啓動,則可以訪問.xcconfig文件。

短指令對於有經驗的用戶:

編輯只讀文件/etc/launchd.conf並添加「SETENV VARIABLENAME /文件夾/路徑」到該文件,然後重新啓動。

步驟沒有經驗的用戶

  1. 開放應用程序/實用工具/終端,並進入通過加入像

    setenv VARIABLENAME FOLDER/PATH

    和線

    sudo nano /etc/launchd.conf

  2. 創建環境變量然後按ENTER鍵。

  3. 使用Ctrl-O,Ctrl-M(可能按Ctrl-Y覆蓋)保存文件,然後按Ctrl-X退出編輯器。
  4. (可選)鍵入cat /etc/launchd.conf以查看您的更改是否存在
  5. 重新啓動計算機。 (註銷不工作)
  6. 您現在可以訪問該變量在.xcconfig文件

    $(VARIABLENAME)

注:

  • 這將創建一個全球性的環境變量,訪問全部用戶。將其設置爲您的主目錄中的某些內容(例如〜/ MyFolder)可能沒有意義。但是,如果您這樣做,則需要使用完整路徑名,例如/ Users/MyUserName/MyFolder)。

參考文獻:

+1

你讀過這個問題嗎? – AlexDenisov 2015-01-25 11:21:03

0

好像.xcconfig文件只能定義和設置值的環境變量(只在整個構建會話爲準)但不使用或評估環境變量。

也許是因爲.xcconfig文件作爲構建設置的基礎層,並且不會被分析。