闲鱼如何解决iOS环境搭建与APP打包速度问题

随着Flutter等跨端框架的出现,业务开发同学经常需要在Android/IOS上跨端进行业务开发,问题定位等。新的不熟悉的环境的搭建总会遇到各种各样的问题,导致搭建失败,特别是IOS开发环境,是最复杂的,不仅环境搭建繁琐,而且切分支后的打包速度很慢,所以我们设计实现了两个工具,用于优化闲鱼IOS开发体验。

IOS开发体验存在的问题

开发环境搭建难

  • 开发环境依赖特定软件版本,配置复杂

闲鱼IOS工程不仅依赖XCode,还依赖了taobaoenv 1.2.0和cocoapods 1.2.0这两个包管理工具。根据大家的经验,这两个工具在ruby2.3.x时,问题较少。特定软件版本,系统自带软件版本冲突,环境变量设置等等一些列的操作步骤导致环境搭建复杂,需要求助IOS开发同学才能搞定。

  • 维护难

Mac系统升级后,cocoapod容易出现问题,不得不重新搭建开发环境。具体原因也是多种多样:系统环境变量变了,导致找不到特定版本ruby;ruby随系统升级导致cocoapod不能用,需要重新安装;Gem版本问题;Ruby源问题等等。这也导致许多开发同学不敢轻易的去升级系统,无法及时体验到新系统的特性。

  • Pod依赖下载量大

由于cocoapod本身的工作原理,pod更新下载工程依赖时,会下载各个版本的文件信息,总量特别大。以闲鱼IOS工程为例,总共需要下载近20G的缓存文件,而且大部分都是几K的小文件,下载时间可能会持续十几个小时,导致新环境搭建到初次体验时间跨度非常久。

切分后APP打包慢

当开发同学在多个分支/版本开发的时候,时常需要切换分支开发调试和bugfix。但是切换分支之后,整个IOS工程打包时间在30-40分钟左右。有时候为了修复一个版本的bug,不得不切换分支,然后重新打包调试。修复和验证bug可能只需要五分钟,打包却用了30多分钟,投入产出不成比例。

为了解决这些存在的问题,我们进行了一些列的探索,跟大家一起分享下,也欢迎有更好的解决方案出现。

IOS环境搭建

虚拟化技术的不断发展,为我们统一端侧开发环境提供了新思路,我们设想如果IOS开发环境能够跟Mac解耦,且可以移植,大家可以轻松复用,那么第一二个问题就迎刃而解了。为此我们做了几个尝试:

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值