Как использовать устаревшую систему сборки с Xcode 10 'xcodebuild'?
Я бы хотел использовать новую систему сборки Xcode 10 для разработки, но наша сборка в нашей системе непрерывной интеграции не xcarchive
выпущенная xcarchive
имеет проблему: Info.plist
в xcarchive
отсутствует ключ ApplicationProperties
и информация в нем!
Оказывается, переключение на устаревшую систему сборки исправляет это. Это можно сделать в настройках рабочей области (Файл> Параметры рабочей области...> Система сборки). Но я бы предпочел сохранить новую систему сборки для разработки и использовать только устаревшую систему сборки для CI-сборок.
Есть ли способ сделать xcodebuild
использовать устаревшую систему сборки без изменения рабочей области?
Ответы
Ответ 1
В xcodebuild
флаг (как еще недокументированный): -UseModernBuildSystem=<value>
. Значение может быть 0
или NO
для использования устаревшей ("оригинальной") системы сборки или 1
или YES
для использования новой системы сборки.
Например:
xcodebuild -workspace Foo.xcworkspace -scheme Bar -configuration Release -archivePath /path/to/Foo.xcarchive clean archive -UseModernBuildSystem=NO
(-UseNewBuildSystem=<value>
похоже, тоже работает, эти флаги были введены в Xcode 9, но я подозреваю, что UseModernBuildSystem
будет для этого "официальным" флагом.)
Ответ 2
Чтобы расширить ответ DarkDust, в случае, если вы используете fastlane для автоматизированных сборок, дополнительные параметры, такие как UseModernBuildSystem
могут быть переданы через xcargs
:
build_app(
// ... other necessary parameters,
xcargs: "-UseModernBuildSystem=NO"
)
Ответ 3
Чтобы выбрать систему сборки Xcode 10:
В XCode перейдите к: Файл → Настройки проекта (или Настройки рабочего пространства) → Построить систему
Оттуда вы можете выбрать New Build System (Default)
или Legacy Build System
Надеюсь, что эта помощь облегчит это.
Ответ 4
Измените систему сборки на Legacy Build System
с New Build System
и наоборот.
Откройте Xcode → Выбрать файл → Выбрать настройки рабочего пространства
![enter image description here]()
Измените Систему сборки на Устаревшую систему сборки с Новой системы сборки → Нажмите Готово.
![enter image description here]()
Ответ 5
ШАГ 1: - Выберите настройку проекта ![enter image description here]()
ШАГ 2: - Изменить систему сборки: - "Устаревшая система сборки". ![enter image description here]()
ШАГ 3: - Очисти и собери проект, он у меня сработал !! :)
Ответ 6
Откройте Xcode → File → Settings Workspace → Change Legacy build Setting.