iOS:解决打包可能会出现环境错误问题
1. 问题描述
打包发布的过程中出现了一个比较严重的一个问题,在新版本发布的时候,错误的把Test环境的包发布到了appstore上面。
项目在打包发布的时候我们需要动一个地方,就是在Edit Scheme里面把Archive的环境调整为release环境,不进行变动的话可能之前打过Test环境的包交付测试,导致最终误把Test环境当做正式包发送出去。
目前项目中的环境代码判断如下:
#if DEBUG
static var currentEnvironment: EnvironmentType = .development
#elseif LWTest
static var currentEnvironment: EnvironmentType = .test
#else
static var currentEnvironment: EnvironmentType = .product
#endif
通过Edit Scheme里面的Build Configuration判断的当前环境。
2. 解决方案
从代码层面来讲,目前还没有想到一个比较好的方案,但是抛除代码,如果有一个警告框,在你打包或者运行的时候进行一个提示,告诉你当前的环境是什么,并且在Archive之后告诉你当前的包是什么环境的包,我想会解决90%以上打包错误的问题
操作步骤:
- 选择Edit Scheme -> build展开 -> 选择Pre-actions,这个actions就是在build构建之前可自定义的一个动作,目前为No Actions。
- 然后,点击靠近左下角的+号 -> 选择New Run Script Action -> provide build settings from 选择当前的项目 -> 下面代码区域输入
osascript -e 'tell app "Xcode" to display notification "当前 Xcode Build设置:'${CONFIGURATION}'"'
- 点击close,运行项目,会发现右上角多了一个提示,显示当前的Build Configuration是选择的什么环境。
以上的方案只是在你Run,或Archive的时候进行的一次提示,万一有人真的忽略了这个提示呢,要杜绝任何一丝出现错误的可能,所以根据以上步骤针对Archive再进行一次修改。
同理展开Archive -> 选择Pre-actions -> 点击靠近左下角的+号 -> 选择New Run Script Action -> provide build settings from 选择当前的项目 -> 下面代码区域输入
if [ $CONFIGURATION != "Release" ]; then
osascript -e 'tell app "Xcode" to display dialog "正在非Release打包!当前环境'$CONFIGURATION'"'
fi
这样,当Archive完成之后,检验当前的包是否是在Release环境,如果不是会多一个警告框,点击OK才可进行下一步操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探