Xcode Run script Этап сборки «запускать скрипт только при установке»


89

В Xcode Run script Build Phase есть опция «запускать скрипт только при установке», я не могу найти документацию по этому поводу. Что оно делает?

Ответы:


136

Если установлен флажок Запускать сценарий только при установке , сценарий запускается только при выполнении Архивирования продуктов.


12
Не при сборке / установке на устройство? (То есть: CMD-Bсборка и запуск на физическом устройстве (не на SIM-карте) с подключенным устройством. Разве это не считается «при установке» для этого коммутатора?)
Оли

6
Установка отладки на реальном устройстве (сборка и запуск из Xcode) не считается "установкой". Сценарий выполнения запускается только при архивировании (проверено с Xcode 9).
seeppp

На самом деле это верно лишь отчасти. Это зависит от параметра DEPLOYMENT_PROCESSING. Я основываю это на запуске этого на Xcode 10. Похоже, что когда вы архивируете, DEPLOYMENT_PROCESSING имеет значение YES и переопределяет настройку конфигурации. Я подтвердил это путем сборки и просмотра настроек в выходных данных, поскольку у меня включен параметр «Показывать переменные среды в журнале сборки».
Mobile Ben

17

В руководстве по системе сборки Xcode (Xcode 3.2.x) говорится:

Запускать скрипт только при установке. Запускает сценарий только во время сборок установки, то есть при использовании параметра установки xcodebuild или когда включены параметры сборки Местоположение развертывания (DEPLOYMENT_LOCATION) и Постобработка развертывания (DEPLOYMENT_POSTPROCESSING).


Когда вам нужно / хотите ...? Я бы посоветовал прочитать документацию по DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING и TARGET_BUILD_DIR.
ericg

1
Прочтите, но в каких ситуациях люди их используют?
Бун,

15
Re: когда вы хотите использовать это: я использую этот флаг в сценариях, которые увеличивают номер сборки, так что это происходит только в сборках, которые я архивирую для отправки бета-тестерам (а не каждый раз, когда я запускаю приложение)
Уэйн

Или при загрузке файлов символов в firebase или crashlytics. Нет необходимости загружать это в каждую отладочную сборку.
seeppp

Фактически Fabric сообщает, что файлы символов должны загружаться при каждой сборке. Есть лучший способ настроить загрузку dSYM. support.crashlytics.com/knowledgebase/articles/…
Ник Ков
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.