iOS 开发中的环境统一
关于 iOS 开发环境的问题,曾经遇到过融云SDK与美恰SDK在 Cocoapods 1.0.1 以上的版本安装的时候会发生冲突,因此在该项目中只能用 1.0.1 以下版本的 Cocoapods…… 又或者是团队中每个人本机的 Cocoapods 版本不一致,那么每次同步项目的时候都会提示需要
pod install
,同时 git commit 中会出现许多Podfile.lock
的修改记录,因此 iOS 团队开发中环境统一的小细节需要做好。
0x00 基本环境
Ruby 的安装强烈建议通过 Homebrew 来安装并管理,因为使用系统自带的 Ruby 会有权限上的问题,一旦弄坏了环境不好处理,通过 Homebrew 安装的则可以有效隔离各种问题。
0x01 Bundler
简介
Bundler 统一项目中 gem 依赖的工具。通过命令 gem install bundler
安装。
使用
Bundler 的使用和 Cocoapods 的使用十分相似,首先在项目的根目录中初始化 Gemfile
:
bundler init
修改 Gemfile
:
source "https://rubygems.org"
gem "cocoapods"
gem "fastlane"
根据 Gemfile
安装依赖:
bundler install --path ./Gems
注意到以上命令指定了安装目录,跟 Cocoapods 一样在当前目录会创建一个类似 Pods
的文件夹:Gems
,同时还会有一个 Gemfile.lock
的文件生成,作用与 Podfile.lock
是一样的。
更多相关 Bundler 的使用说明:http://bundler.io/docs.html
⚠️注意:记得更新 .gitignore
文件把 ./Gems
文件忽略掉,和 Cocoapods 一样,避免 Push 到 Git 上。
0x02 最后
做完以上简单的步骤之后,团队内部约定使用该项目中对应的环境就 OK 了。
git clone ... && cd ...
bundler install
bundler exec pod install
bundler exec fastlane ios beta
bundler exec fastlane ios release
......
虽然每次命令操作都要加上 bundler exec
,但总比乱糟糟的环境要好~