Наконец, Apple выпустила некоторую документацию по этому вопросу. Это находится в разделе «Текстовые макросы» руководства Xcode, начиная с этой даты.
Ссылка на текстовый формат макроса
Текстовый макрос может содержать любой допустимый текст Unicode. Он также может содержать другие текстовые макросы.
Включая другие текстовые макросы
Чтобы добавить еще один текстовый макрос, добавьте три символа подчеркивания (_) до и после имени макроса:
___<MacroName>___
Изменение расширения макроса текста
Вы можете изменить окончательное расширение текстового макроса, добавив один или несколько модификаторов. Добавьте модификатор к текстовому макросу, поместив двоеточие (:) в конце макроса, за которым следует модификатор. Добавьте несколько модификаторов, разделяя их запятыми (,).
<MACRO>:<modifier>[,<modifier>]…
Например, следующий макрос удалит расширение пути из макроса FILENAME:
FILENAME:deletingPathExtension
Чтобы превратить измененный макрос выше в действительный идентификатор C, добавьте макрос идентификатора:
FILENAME:deletingPathExtension,identifier
Модификаторы
bundleIdentifier : заменяет любые символы не связанного идентификатора дефисом (-).
deletingLastPathComponent : Удаляет последний компонент пути из строки расширения.
deletingPathExtension : Удаляет любое расширение пути из строки расширения.
deletingTrailingDot : Удаляет все конечные точки (.).
идентификатор : заменяет любые символы идентификатора, отличные от C, на подчеркивание (_).
lastPathComponent : возвращает только последний компонент пути строки расширения.
pathExtension : Возвращает расширение пути строки расширения.
rfc1034Identifier : заменяет любые символы-идентификаторы, отличные от rfc1034, дефисом (-).
xml : заменяет специальные символы xml соответствующей escape-строкой. Например, меньше чем (<) заменяется на <code><
ТЕКСТ МАКРОС
Текстовые ссылки на макросы
COPYRIGHT
Строка авторского права, которая использует название компании команды для проекта. Если название компании отсутствует, строка будет пустой.
В этом примере показана строка авторского права, если для компании установлено значение «Apple».
Copyright © 2018 Apple. Все права защищены.
ДАТА
Текущая дата.
DEFAULTTOOLCHAINSWIFTVERSION
Версия Swift, используемая для набора инструментов по умолчанию.
FILEBASENAME
Имя текущего файла без расширения.
FILEBASENAMEASIDENTIFIER
Имя текущего файла, закодированное в виде идентификатора C.
FileHeader
Текст помещается вверху каждого нового текстового файла.
FILENAME
Полное имя текущего файла.
FULLUSERNAME
Полное имя текущего пользователя macOS.
NSHUMANREADABLECOPYRIGHTPLIST
Запись для удобочитаемой строки об авторских правах в файле Info.plist цели приложения MacOS. Значение макроса должно включать разделители XML для plist. Например, допустимое значение:
'''
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2018 Apple, Inc. All rights reserved.</string>
'''
Обратите внимание, что значение включает символ новой строки.
ORGANIZATIONNAME
Название вашей организации, которое отображается в виде стандартного текста в папке вашего проекта. Название организации в вашем проекте не совпадает с названием организации, которое вы вводите в App Store Connect.
PACKAGENAME
Название пакета, построенного по текущей схеме.
PACKAGENAMEASIDENTIFIER
Версия в кодированном C-идентификаторе имени пакета, построенная по текущей схеме.
PRODUCTNAME
Название приложения продукта построено по текущей схеме.
Projectname
Название текущего проекта.
RUNNINGMACOSVERSION
Версия macOS под управлением Xcode.
Имя_целевого_объект
Наме текущей цели.
ВРЕМЯ Текущее время.
ИМЯ ПОЛЬЗОВАТЕЛЯ Имя пользователя для текущего пользователя macOS.
UUID Возвращает уникальный идентификатор.При первом использовании этого макроса он генерирует идентификатор перед возвратом.Вы можете использовать этот макрос для создания нескольких уникальных идентификаторов с помощью модификатора.Каждый модификатор возвращает идентификатор, уникальный для этого модификатора.Например, при первом использовании модификатора UUID: firstPurpose макрос генерирует и возвращает уникальный идентификатор для этой комбинации макроса и модификатора.Последующее использование модификатора UUID: firstPurpose возвращает тот же идентификатор.Добавление модификатора UUID: secondPurpose создает и возвращает другой идентификатор, который будет уникальным для UUID: secondPurpose и отличается от идентификатора для UUID: firstPurpose.
WORKSPACENAME Имя текущего рабочего пространства,Если открыт только один проект, то имя текущего проекта.
YEAR Текущий год в виде четырехзначного числа.