2011-10-19 22 views
6

我見過正在使用像Xcode中的構建設置修飾符是什麼?

$(PRODUCT_NAME:標識符)一些構建設置

使用:上部也使得設定值大寫,但我不知道那些被稱爲並找不到任何文檔。有沒有人知道他們的名字或文檔的正確使用方式?

回答

8

文件/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore有一堆的這些:

[ 09:22 [email protected]/]# strings /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore | egrep "(^:|^[a-z0-9]+$)" 
:children.count=%lu 
:name='%@' 
:File='%@':Line=%lu:RefType=%@ 
:fileRef=%@:timestamp=%lu 
:char-range=%@ 
:line-range=%@ 
:<range-type-%lu>=%@ 
:name='%@' 
:name=%@:path='%@' 
:name='%@' 
:name='%@':buildSettings(%lu)=%@ 
:path='%@' 
:quote 
:identifier 
:rfc1034identifier 
:dir 
:abs 
:remoteRef='%@' 
:File='%@':Head Revision=%@:Active Branch=%@ 
:scmProprties='%@':sandboxEntry='%@' 
.... SNIP .... 
upper 
environment 
diagnostics 
type 
category 
description 
path 
kind 
message 
ranges 
alternate 
start 
edges 
location 
file 

找到這個問題,以及:DevToolsCore Framework Reference。看起來像框架的API(- (id)initWithName:(id)arg1 productTypeIdentifier:(id)arg2)。

雖然沒有找到任何其他文檔,但只是這個問題(xcode-info-plist-build-variable-product-namerfc1034identifier-seems-complete)。

4

因爲他們沒有記錄我不認爲他們有一個名字。當建築的Xcode 4層的模板,我發現在蘋果模板3'變量',似乎做到以下幾點:

  • identifier:確保它是一個合法的C變量名。它用下劃線代替非法字符。
  • bundleIdentifier:確保它是合法的包標識符。
  • RFC1034Identifier:確保它是合法的域名。

多虧了你,我知道另一個問題:

  • upper:值更改爲大寫。

Xcode項目模板沒有記錄。他們被定義爲具有繼承製度的plists。它們的元素有一個定義的結構,並使用幾個帶有雙下劃線的擴展宏,如__PACKAGENAME__(在Xcode 3中也可以看到),這些擴展宏用上述修改器之一修改。

如果你想進一步挖掘這個,我建議Documentation: Xcode 4 templates。學習蘋果的模板系統是痛苦和緩慢的,直到我偶然發現這個PDF。這是$ 10 /€7,50,但值得。編寫模板仍然非常麻煩,我想蘋果工程師使用內部工具或耐心。

構建設置被稱爲「構建設置」,它們記錄在 Xcode Build Setting Reference中。產品名稱默認爲您的目標名稱,但如果您願意,您可以自己設定價值。編寫腳本時會引用這些設置。通常在使用XCode時不需要碰任何東西。

相關問題