Подтвердить что ты не робот

Значение переменной xcode info.plist ${PRODUCT_NAME: rfc1034identifier} кажется полностью недокументированным?

Я пытаюсь найти документацию, описывающую синтаксис и возможности, предлагаемые конструкцией ${PRODUCT_NAME:rfc1034identifier}. Очевидно, что это превращается в некоторую версию имени продукта, но где находится документация, описывающая, как это сделать? Я просто скопировал весь каталог /Developer и не получил ничего полезного.

Я не ищу узкое определение того, что происходит с этой конкретной переменной, я хочу знать обо всех таких модификаторах, как rfc1034identifier.

4b9b3361

Ответ 1

Используя strings, я также выкопал следующие вещи, которые выглядят так, как будто они связаны с :rfc1034identifier:

  • :quote - добавляет обратную косую черту перед пробелами (и более) для использования в сценариях оболочки
  • :identifier - заменяет пробелы, слэши (и более) с символами подчеркивания
  • :rfc1034identifier - заменяет пробелы, слэши (и многое другое) с тире
  • :dir - не знаю, заметили замену на ./ в некоторых случаях
  • :abs - не знаю

Точная команда:

strings /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore|grep '^:'

Есть больше вещей, которые выглядят как интересные модификаторы (например, :char-range=%@), но я не мог заставить их работать. В сети есть только один пример :char-range, и он из журнала сбоев для Xcode.

Кто-то спросил, как мы знаем это спецификацию модификатора. Ну, мы знаем, потому что он работает с несколькими переменными в настройках сборки. Препроцессор Plist, вероятно, использует те же механизмы для решения переменных сборки, как и система сборки.

Hack Saw, если вы получите ответ через этот отчет об ошибке, не забудьте оставить нас в курсе: -)

Ответ 2

Похоже, вы можете складывать их также. Полезный случай плавающий вокруг есть

com.yourcompany.${PRODUCT_NAME:rfc1034identifier:lower}

чтобы имя продукта "Ваше приложение" становилось com.yourcompany.your-app.

Ответ 3

$ strings /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/A/DevToolsCore

PRODUCTNAME
PRODUCTNAMEASIDENTIFIER
PRODUCTNAMEASRFC1034IDENTIFIER
PRODUCTNAMEASXML

Кажется, что есть: identifier,: rfc1034identifier и: модификаторы xml. Но я не знаю, кроме этого.