xcodebuild: назначение новой переменной xcconfig нарушено в новой системе сборки Xcode 10 - PullRequest
0 голосов
/ 19 октября 2018

В Xcode 10 при использовании новой системы сборки, если ваш xcconfig содержит какое-либо условное присвоение переменной, xcodebuild выдаст ошибку, говорящую «недопустимая инструкция 4».Например:

FOO [sdk = macosx *] = buzz

После удаления «[sdk = macosx *]» xcodebuild работает как чудо.

Я прошел черезВ заметках по исправлению системы сборки Xcode 10 Apple ничего не говорила об отказе от поддержки условного присваивания переменных.Так что это должно быть ошибкой в ​​xcodebuild, я думаю?

Кстати, проблема также была замечена в новой системе сборки в Xcode 9.4 (в то время как новая система сборки не по умолчанию в Xcode 9.4, выприходится вручную устанавливать настройки проекта.)

1 Ответ

0 голосов
/ 12 июня 2019

Согласно этому разделу официальной документации , ваша конфигурация должна работать, поэтому я бы сказал, что это определенно ошибка в системе сборки.

Вы можете рассмотреть один или оба изследующие обходные пути:

  • Принудительно использовать старую систему сборки в командной строке, субъект уже указал ответы на этот вопрос .
  • Динамически построить переменную.Например, следующая конфигурация использует PLATFORM_NAME для экспорта FOO как buzz при нацеливании на реальное устройство и bar при нацеливании на симулятор:
FOO_iphoneos = buzz
FOO_iphonesimulator = bar
FOO = $(FOO_$(PLATFORM_NAME))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...