Как называются модификаторы настроек сборки в Xcode? - PullRequest
6 голосов
/ 19 октября 2011

Я видел, как используются некоторые параметры сборки, такие как

$ (PRODUCT_NAME: идентификатор)

Использование: upper также делает значение параметра прописным, но яне знаю, как они называются и не может найти никакой документации.Кто-нибудь знает их имя или где документация, чтобы правильно их использовать?

Ответы [ 2 ]

8 голосов
/ 19 октября 2011

В файле /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 .Похоже, API для Framework (- (id)initWithName:(id)arg1 productTypeIdentifier:(id)arg2).

Не могу найти другую документацию для него, только этот вопрос SO ( xcode-info-plist-build-variable-product-namerfc1034identifier-кажется, полный ).

4 голосов
/ 19 октября 2011

Поскольку они не задокументированы, я не думаю, что у них есть имя. При создании шаблонов Xcode 4 я нашел 3 модификатора переменных в шаблонах Apple, которые, кажется, делают следующее:

  • identifier: гарантирует, что это допустимое имя переменной C. Он заменяет недопустимые символы подчеркиванием.
  • bundleIdentifier: гарантирует, что это допустимый идентификатор пакета.
  • RFC1034Identifier: гарантирует, что это допустимое доменное имя.

И благодаря вам я знаю еще одного:

  • upper: изменить значение на верхний регистр.

Шаблоны проекта Xcode не документированы. Они определены в списках с системой наследования. Их элементы имеют определенную структуру и используют несколько макросов расширения с двойным подчеркиванием, например __PACKAGENAME__ (также замечено в Xcode 3), которые модифицируются одним из модификаторов, упомянутых выше.

Если вы хотите больше покопаться в этом, я рекомендую Документация: шаблоны Xcode 4 . Изучение системы шаблонов Apple было болезненным и медленным, пока я не наткнулся на этот PDF. Это $ 10 / € 7,50, но это достойно. Написание шаблонов остается очень громоздким, я думаю, что инженеры Apple используют внутренний инструмент или большое терпение.

Настройки сборки называются «настройками сборки», и они задокументированы в Справочнике по настройке сборки Xcode . Имя продукта по умолчанию соответствует вашему целевому имени, но вы можете создать собственное значение, если хотите. На эти настройки ссылаются при написании скриптов. Обычно вам не нужно ничего трогать при использовании XCode.

...