我们有一个针对2个不同后端环境的应用程序,例如暂存和生产。每个都有自己的一套url和配置。当前,每次我们不打算发布具有不同包ID和配置集的特定环境时,我们都会重建整个应用程序。但是,这并不理想。理想情况下,我们希望有一个构建和发布管道。构建只会发生一次,然后发布管道将有一个步骤向Staging进行发布,并向生产发布另一个步骤。
使用新的捆绑包ID和配置文件解决应用程序的退出很容易,我们使用fastlane run resign
命令。但是,我不知道如何在同一命令中修改分发包的内容而不破坏签名。我想象的是在Info.plist
中拥有一个属性,比方说Environment
。在代码中,我将读取该值,如果该值显示为“ Staging”,则将使用登台URL配置,否则将使用生产。
更好,更灵活的方法是使用单独的.plist
文件进行配置,该文件将存储所有相关配置,然后在发行过程中将其替换为其他文件。这样的好处是无需更改代码即可获得另一个环境支持。在第一种方法中,每次更改环境属性或创建新环境时,我们都需要通过添加另一个if
语句来更改代码。
无论如何,到目前为止,我们至少需要能够指定环境。如果无法替换后一个文件,则希望Info.plist修改可以进行。
顺便说一句,顺便说一句,我们在Android上使用了文件替换方法,它的工作就像轻轻松松。我们使用apktool
工具解压缩apk,替换配置文件,然后重新打包并签名。
感谢您的答复。