2011-10-19 17 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时不需要碰任何东西。

相关问题