我已经看到一些使用的构建设置,如
$(PRODUCT_NAME:标识符)
使用:upper也使设置值为大写,但我不知道那些被调用的内容并且找不到任何文档。有没有人知道他们的名字或文件在哪里正确使用它们?
答案 0 :(得分:8)
文件/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore
包含以下内容:
[ 09:22 root@MacBookPro / ]# 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)。
答案 1 :(得分:4)
由于没有记录,我认为他们没有名字。在构建Xcode 4模板时,我在Apple模板中找到了3个变量修饰符,它们似乎执行以下操作:
identifier
:确保它是合法的C变量名称。它用下划线替换非法字符。bundleIdentifier
:确保它是合法的捆绑包标识符。RFC1034Identifier
:确保它是合法的域名。谢谢你,我认识另一个人:
upper
:将值更改为大写。未记录Xcode项目模板。它们在带有继承系统的plist中定义。它们的元素具有已定义的结构,并使用多个扩展宏和双下划线,如__PACKAGENAME__
(也见于Xcode 3中),使用上述修饰符之一进行修改。
如果您想进一步深入研究,我建议Documentation: Xcode 4 templates。学习Apple的模板系统既痛苦又缓慢,直到我偶然发现这个PDF。这是10美元/ 7,50欧元,但它是值得的。编写模板仍然非常麻烦,我猜Apple工程师使用内部工具或耐心。
构建设置称为“构建设置”,它们记录在Xcode Build Setting Reference中。产品名称默认为您的目标名称,但您可以根据需要自行组成值。编写脚本时会引用这些设置。通常在使用XCode时不需要触摸任何东西。