我已经看到一些构建设置被使用,例如
$(PRODUCT_NAME:标识符)
使用 :upper 也会使设置值变为大写,但我不知道它们被称为什么并且找不到任何文档。有谁知道他们的名字或文档在哪里可以正确使用它们?
我已经看到一些构建设置被使用,例如
$(PRODUCT_NAME:标识符)
使用 :upper 也会使设置值变为大写,但我不知道它们被称为什么并且找不到任何文档。有谁知道他们的名字或文档在哪里可以正确使用它们?
该文件/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 框架参考。看起来像框架的 API ( - (id)initWithName:(id)arg1 productTypeIdentifier:(id)arg2
)。
虽然找不到任何其他文档,只是这个 SO 问题(xcode-info-plist-build-variable-product-namerfc1034identifier-seems-complete)。
由于他们没有记录,我认为他们没有名字。在构建 Xcode 4 模板时,我在 Apple 模板中发现了 3 个变量修饰符,它们似乎执行以下操作:
identifier
: 确保它是合法的 C 变量名。它用下划线替换非法字符。bundleIdentifier
: 确保它是合法的捆绑标识符。RFC1034Identifier
: 确保它是合法域名。多亏了你,我知道了另一个:
upper
:将值更改为大写。Xcode 项目模板没有记录。它们在具有继承系统的 plist 中定义。它们的元素具有已定义的结构,并使用几个带有双下划线的扩展宏__PACKAGENAME__
(也见于 Xcode 3),这些宏使用上述修饰符之一进行修改。
如果您想进一步深入研究,我推荐Documentation: Xcode 4 templates。学习 Apple 的模板系统既痛苦又缓慢,直到我偶然发现了这个 PDF。10 美元/7.50 欧元,但物有所值。编写模板仍然很麻烦,我猜苹果工程师使用内部工具还是很有耐心的。
构建设置称为“构建设置”,它们记录在Xcode Build Setting Reference中。产品名称默认为您的目标名称,但您可以根据需要自行设置值。编写脚本时会引用这些设置。通常你在使用 XCode 时不需要触摸任何东西。