Определение Конфигурации подпроекта в XCode

'->' не является оператором. Он встречается в синтаксисе F # в нескольких местах, и его значение зависит от того, как он используется как часть более крупной конструкции.

Внутри типа '->' описывает типы функций, как люди описали выше. Например,

let f : int -> int = ...

говорит, что «f» - это функция, которая принимает int и возвращает int.

Внутри лямбды («вещь, которая начинается с ключевого слова fun»), «->» - это синтаксис, отделяющий аргументы от тела. Например,

fun x y -> x + y + 1

- это выражение, которое определяет функцию с двумя аргументами для данной реализации.

Внутри конструкции «match», «->» является синтаксисом, который отделяет шаблоны от кода, который должен выполняться, если шаблон соответствует. Например, в

match someList with
| [] -> 0
| h::t -> 1

материал слева от каждого '->' - это шаблоны, а материал справа - это то, что происходит, если шаблон слева совпал.

Трудность в понимании может быть коренится в ошибочном предположении, что «->» является «оператором» с одним значением. Аналогия может быть "." в C #, если вы никогда не видели код раньше, и попробуйте проанализировать "." Оператор, основанный на взглядах на «obj.Method» и «3.14» и «System.Collections», может запутаться, потому что символ имеет разные значения в разных контекстах. Однако, как только вы узнаете достаточно языка, чтобы распознать эти контексты, все станет ясно.

15
задан Cœur 4 November 2019 в 03:26
поделиться

2 ответа

Я не знаю ни одного простого подхода, но вы можете подобрать его, вызвав xcodebuild напрямую для зависимости с фазой сборки «Run Script».

Я знаю, что это было просто пример, но если ваша настоящая цель состоит в том, чтобы подпроект был сборкой Release (без символов), тогда у вас может быть лучший опыт, просто встроив подпроект в библиотеку или фреймворк и проверив полученный двоичный файл в вашем система контроля версий. Всякий раз, когда у меня есть часть системы, которая редко изменяется и для которой мне не нужны символы отладки, я создаю ее как статическую библиотеку и проверяю ее. Я часто иду дальше и перемещаю код в другое место (с файл README с расширением .a, в котором указано, где находится код и как он был построен).

5
ответ дан 1 December 2019 в 04:47
поделиться

Да, это естественно не поддерживается Xcode; когда вы создаете цель, она создает одну конфигурацию для себя и всех зависимых целей.

Как сказал Роб, обходной путь состоит в том, чтобы иметь зависимую цель, которая является типом Aggregate Target, которая включает одну фазу сборки Run Script, которая просто вызывает xcodebuild -configuration Release (или что-то еще).

3
ответ дан 1 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: