美文网首页
iOS开发-多环境适配

iOS开发-多环境适配

作者: 追梦赤子心Year | 来源:发表于2024-12-17 11:50 被阅读0次

作为一个前端开发人员,在开发过程中,难免与服务器打交道,同一套代码,后端为了支持不同的场景,需要部署多个环境,比如开发、测试、生产等。就我们公司的项目而言,有开发、预发布、发布环境。如果不做多环境适配的话,每次想要切换环境,可能就需要改一大堆代码,注释、取消注释...
我们可以通过Xcode的设置,来快速切换不同环境

需求描述:

  • 开发过程中:要随时能切换并运行任意环境
  • 测试环境:打包时生成的是测试环境地址的测试包
  • 预发布环境:打包时生成的是预发布环境地址的测试包
  • 发布环境:打包时生成的是生产环境地址的正式包

思路:

新建测试环境Testing预发布环境Staging发布环境Production几个配置,与原来的Debug下的开发环境Develop组成四种环境
Debug模式下:四个环境均可运行。其他模式下,各自运行各自的环境;

实现步骤:

1. 选择项目 - Project - Info - Configuration

点击 + ,选择参照release。依次新建Testing、Staging、Production三种配置。


新增配置
2. 项目 - Project - Build Settings - 搜索"custom flags"

参照Debug,修改其余几种模式,分别给其设置标记。注意,每个里面有个$(inherited)也要加上

设置标记
3. 项目 - Project - Build Settiongs 搜索"Preprocessor Macros"
参照Debug,修改其余几种模式,对预编译宏定义进行默认赋值 宏定义赋值
4. 集成了Cocoapods的,此时要更新一下pod,重新编译。
5. 修改运行时的环境为Staging环境(只做尝试,验证宏是否起作用,运行时选择环境有其他方法),添加测试代码,打印当前的环境
至此,多环境配置成功。可以区分运行环境,并做不同处理了。接下来,可以将不同环境的域名写在各自配置中:
1. 添加自定义环境变量MY_APP_BASE_URL 添加自定义环境变量
2. 将MY_APP_BASE_URL放入info.plist文件中转化成键值对,方便取值。
3. 测试,用Bundle.main.infoDictionary!["MY_APP_BASE_URL"] as! String取出当前环境的服务器地址。
至此,多个环境运行各自的服务器地址的需求已完成。接下来实现Debug模式下切换不同的环境地址:
以枚举的方式,选择debug模式下,运行的服务器地址,只有开发阶段,我们需要在Debug模式下调试各个环境地址,其他几种模式,都运行各自环境,不需要适配。

Debug模式下切换不同域名也已经完成。如果想在设备上运行不同环境,并且同时存在,可以接着配置:

  • 想要在设备上,同时存在各个环境的App,需要设置不同的bundleId。这里仅演示Staging环境区分,其他的也可视情况单独配置
  • 想要不同环境,使用不同的应用名:
  • 想要不同环境,使用不同的AppIcon:

大功告成!

相关文章

  • iOS开发|适配iOS10以及Xcode8

    iOS开发|适配iOS10以及Xcode8 iOS开发|适配iOS10以及Xcode8

  • 暗黑模式开发

    iOS13暗黑模式适配(项目开发版) iOS 13 DarkMode 暗黑模式 IOS 暗黑模式适配---基础适配

  • [iOS10]Xcode8系统导航适配

    开发环境 Xcode 8iOS 10及Xcode 7.3iOS9.3 问题 最近有个朋友问我,在适配iOS10的时...

  • iPhone X屏幕适配

    iPhone X开发设计屏幕适配。iPhone X(10)屏幕分辨率与适配,iOS开发适配与UI设计问题。 htt...

  • iOS 多环境开发

    很多情况下,我们需要同时安装开发版、测试版、发布版多个版本的应用,由于苹果一个标识对应一个应用的设定,不管测试环境...

  • iOS暗黑假适配

    暗黑模式是 iOS 13 带来的一种 UI 特性,对开发者而言,适配之前需要准备好以下开发环境: Xcode 11...

  • iOS 开发进阶 文章汇总

    0、多环境开发配置iOS-开发进阶01:多环境配置[https://www.jianshu.com/p/c40b3...

  • 屏幕适配

    适配 什么是适配?适应、兼容各种不同的情况 iOS开发中的适配?系统适配针对不同版本的操作系统进行适配屏幕适配针对...

  • iOS开发·适配iPhone X相关的宏和方法

    iOS开发·适配iPhone X相关的宏和方法

  • iOS 13 项目更新遇到一些事与真机闪退libsystem_k

    随着iOS13.0的版本和新的机型发布,开发者是最忙的时候,就是要做适配,更新Xcode11开发环境的同时遇到了;...

网友评论

      本文标题:iOS开发-多环境适配

      本文链接:https://www.haomeiwen.com/subject/tkaijjtx.html