¿Cómo se llaman los modificadores de configuración en Xcode?
-
27-10-2019 - |
Pregunta
He visto algunas configuraciones de construcción utilizadas como
$ (Product_name: identificador)
Usando: Upper también hace que el valor de configuración sea superior, pero no sé cómo se llaman y no puedo encontrar ninguna documentación. ¿Alguien sabe su nombre o dónde la documentación lo usa correctamente?
Solución
El archivo /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore
tiene un montón de estos:
[ 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
Encontré esto también: Referencia de marco de DevToolScore. Parece una API para el marco (- (id)initWithName:(id)arg1 productTypeIdentifier:(id)arg2
).
Sin embargo, no pude encontrar ninguna otra documentación, solo esta pregunta (Xcode-Info-plist-build-variable-product-namerfc1034identifier-seems-complete).
Otros consejos
Como no están documentados, no creo que tengan un nombre. Al construir Xcode 4 plantillas, encontré 3 modificadores variables en las plantillas de Apple que parecen hacer lo siguiente:
identifier
: Asegura que sea un nombre de variable legal. Reemplaza los personajes ilegales con subrayos.bundleIdentifier
: Asegura que sea un identificador legal de paquete.RFC1034Identifier
: Asegura que sea un nombre de dominio legal.
Y gracias a ti conozco otro:
upper
: Cambie el valor a mayúsculas.
Las plantillas del proyecto Xcode no están documentadas. Se definen en plistas con un sistema de herencia. Sus elementos tienen una estructura definida y usan varias macros de expansión con doble subrayador como __PACKAGENAME__
(También se ve en Xcode 3) que se modifican con uno de los modificadores mencionados anteriormente.
Si quieres profundizar más sobre esto, lo recomiendo Documentación: Xcode 4 plantillas. Aprender el sistema de plantilla de Apple fue doloroso y lento hasta que me topé con este PDF. Son $ 10/€ 7,50 pero es digno. Escribir plantillas sigue siendo muy engorrosa, supongo que los ingenieros de Apple usan una herramienta interna o una gran paciencia.
La configuración de la compilación se llama "Configuración de compilación" y se documentan en el Referencia de configuración de compilación de Xcode. El nombre del producto predeterminado a su nombre de destino, pero puede inventar su propio valor si lo desea. Se hace referencia a estas configuraciones al escribir scripts. Por lo general, no necesita tocar nada mientras usa Xcode.