如何告诉IOS等待挂钩在Cordova中结束?

时间:2019-06-23 12:07:53

标签: ios cordova cordova-plugins cordova-hooks

我正在运行这些挂钩:

<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。但是在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等待钩子结束以及到钩子发生时,才开始使用新的config.xml进行构建?

0 个答案:

没有答案