提问者:小点点

ios-基于运行的目标设置目标的环境


我有一个iOS项目,目标如下:

- MyTargetUAT 
- MyTargetPreprod
- MyCustomFramework 
    - EmbeddedFrameworkUAT 
    - EmbeddedFrameworkPreprod 

我的目标是,当我构建MyTargetUAT时,告诉MyCustomFramework使用EmbeddedFrameworkUAT。

MyCustomFramework怎么可能知道在运行时设置了哪个环境?

注意:每次我构建应用程序时,MyCustomFramework都会被重新编译并生成一个新的MyCustomFramework.Framework。


共2个答案

匿名用户

默认情况下,您的目标有不同的info.plist文件。 也许您可以在这个文件中添加一个变量来检测您正在使用哪个目标,或者您的info.plist文件已经包含了一些特定于目标的值(比如Bundle ID)。 您可以使用这些值。

匿名用户

我觉得你可以用构建短语脚本。 首先,您需要在MyCustomFramework目标中有一个配置文件,您的目标读取该配置文件以决定使用哪个嵌入式框架。 然后在MyTargetUAT目标构建短语中,添加一个脚本来修改MyCustomFramework目标中的配置文件。 因此,当您构建MyTargetUAT目标时,脚本文件将被执行,并更新MyCustomFramework目标的配置。