我有一个iOS项目,目标如下:
- MyTargetUAT
- MyTargetPreprod
- MyCustomFramework
- EmbeddedFrameworkUAT
- EmbeddedFrameworkPreprod
我的目标是,当我构建MyTargetUAT时,告诉MyCustomFramework使用EmbeddedFrameworkUAT。
MyCustomFramework怎么可能知道在运行时设置了哪个环境?
注意:每次我构建应用程序时,MyCustomFramework都会被重新编译并生成一个新的MyCustomFramework.Framework。
默认情况下,您的目标有不同的info.plist文件。 也许您可以在这个文件中添加一个变量来检测您正在使用哪个目标,或者您的info.plist文件已经包含了一些特定于目标的值(比如Bundle ID)。 您可以使用这些值。
我觉得你可以用构建短语脚本。 首先,您需要在MyCustomFramework目标中有一个配置文件,您的目标读取该配置文件以决定使用哪个嵌入式框架。 然后在MyTargetUAT目标构建短语中,添加一个脚本来修改MyCustomFramework目标中的配置文件。 因此,当您构建MyTargetUAT目标时,脚本文件将被执行,并更新MyCustomFramework目标的配置。