Как сказать IOS дождаться окончания хуков в Кордове? - PullRequest
0 голосов
/ 23 июня 2019

Я использую следующие перехватчики:

<hook src="hooks/before-build/controller.js" type="before_build" />
<hook src="hooks/before-build/controller.js" type="before_run" />
<hook src="hooks/after-build/controller.js" type="after_build" />
<hook src="hooks/after-build/controller.js" type="after_run" />

Они просто заменяют переменные в файле config.xml, поэтому они будут соответственно адаптированы к промежуточной или производственной средам.

Например, взятьэта строка:

<preference name="APP_SECRET" value="ANDROID-APPCENTER-APP-SECRET" />

и замените секрет.

После завершения сборки он снова заполняет config.xml старыми значениями - для следующей сборки, чтобы иметь старуюссылки для следующего использования.

В Android это работает просто потрясающе - у меня есть другой сгенерированный config.xml для stage или prod.Но в IOS я получаю эту ошибку, когда я пытаюсь запустить или собрать:

The product name change (<name> tag) in config.xml is not supported dynamically.
To change your product name, you have to remove, then add your ios platform again.
Make sure you save your plugins beforehand using `cordova plugin save`.
    cordova plugin save
    cordova platform rm ios
    cordova platform add ios

Я думаю, что IOS начинает собираться без асинхронного ожидания ожидания выполнения хуков.И поэтому он пытается собрать без надлежащего файла config.xml, а затем с ошибкой.

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

...