文章系列
《iOS 环境搭建》
《iOS 混编》
《iOS 组件化》
《iOS 全量组件化落地》
一、简介
iOS的开发环境主要包括开发工具和包依赖管理工具的安装。大部分的iOS开发人员选择的开发工具都是Xcode。iOS的包依赖管理工具有Carthage和CocoaPods,他们的优缺点在这里不再敖述,大部分的iOS开发人员选择的包依赖管理工具都是CocoaPods。
二丶Xcode
你可以在App Store中下载最新版本,也可以在Apple Developer中下载指定版本。
三丶CocoaPods
CocoaPods的安装会涉及到GPG、 RVM、Ruby、RubyGems、Homebrew几个概念。
GPG是一款加密软件。
RVM是一个命令行工具,可以提供一个便捷的多版本Ruby环境的管理和切换。
Ruby是一种开源的面向对象程序设计的服务器端脚本语言。
RubyGems是Ruby的一个包管理器,它提供一个分发Ruby程序和库的标准格式,还提供一个管理程序包安装的工具。
Homebrew是macOS(或 Linux)缺失的软件包的管理器。
CocoaPods是Ruby语言写的,所以安装CocoaPods需要依赖Ruby环境,Mac电脑自带Ruby环境不过版本可能偏低,你可以使用RVM或者Homebrew来管理Ruby,安装RVM需要先安装GPG,CocoaPods可以用HomeBrew或者RubyGems安装。我们通常先安装Homebrew,再通过Homebrew来安装Ruby和CocoaPods。下面只简单的罗列一些常用的命令,任何不清楚的地方都可以查阅详细的资料。
- Homebrew
查看Homebrew版本
$ brew --version
安装Homebrew
$ /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
卸载Homebrew
$ /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
查看Homebrew的源
# 查看brew.git源
$ git -C "$(brew --repo)" config --get remote.origin.url
# 查看homebrew-core.git源
$ git -C "$(brew --repo homebrew/core)" config --get remote.origin.url
# 查看homebrew-cask.git源
$ git -C "$(brew --repo homebrew/cask)" config --get remote.origin.url
Homebrew的官方源
# brew.git源
https://github.com/Homebrew/brew.git
# homebrew-core.git源
https://github.com/Homebrew/homebrew-core.git
# homebrew-cask.git源
https://github.com/Homebrew/homebrew-cask.git
替换Homebrew的源为中科大的源
# brew.git源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
# homebrew-core.git源
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
# homebrew-cask.git源
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# 配置homebrew-bottles
## bash用户
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
## zsh用户
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
$ source ~/.zshrc
替换Homebrew的源为清华的源
# 替换brew.git源
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
# 替换 homebrew-core.git源
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
# 替换 homebrew-cask.git源
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
# 使用bash的话
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
# 使用zsh的话
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
更新Homebrew
$ brew update
查看Homebrew命令
$ brew --help
Homebrew查看已安装软件的列表
$ brew list
Homebrew搜索软件
$ brew search xxx
Homebrew安装软件
$ brew install xxx
Homebrew卸载软件:
$ brew uninstall xxx
Homebrew更新软件
$ brew upgrade xxx
Homebrew查看可清理的旧版本包
$ brew cleanup -n
Homebrew清理所有包的旧版本
$ brew cleanup
Homebrew清理指定包的旧版本
$ brew cleanup $FORMULA
- Ruby(提醒:在进行Ruby的安装或者更新之前,最好先更改gem的国内源,否则卡的一_!!!)
查看Ruby版本
$ ruby --version
安装Ruby
$ brew install ruby
卸载Ruby
$ brew uninstall ruby
更新Ruby
$ brew upgrade ruby
查看Ruby命令
$ ruby --help
- RubyGems
查看RubyGems的源
$ gem sources -l
移除RubyGems的源
$ gem sources --remove xxx
添加RubyGems的国内源
$ gem sources -a https://gems.ruby-china.com
查看RubyGems版本
$ gem --version
更新RubyGems
$ gem update
RubyGems查看已安装软件的列表
$ gem list
RubyGems搜索软件
$ gem search xxx
RubyGems安装软件
$ sudo gem install xxx
RubyGems卸载软件:
$ sudo gem uninstall xxx
- CocoaPods
查看CocoaPods版本
$ pod --version
使用Homebrew安装/卸载/更新CocoaPods
安装CocoaPods
$ brew install cocoapods
卸载CocoaPods
$ brew uninstall cocoapods
更新CocoaPods
$ brew upgrade cocoapods
使用RubyGems安装/卸载/更新CocoaPods
安装CocoaPods
$ sudo gem install cocoapods
卸载CocoaPods
$ gem uninstall cocoapods
更新CocoaPods
$ gem update
$ sudo gem install cocoapods
查看CocoaPods命令
$ pod --help
建立CocoaPods的本地索引库
$ pod setup
查看CocoaPods的本地索引库
$ pod repo list
更新CocoaPods的本地索引库
$ pod repo update
更新CocoaPods的特定repo的本地索引库
$ pod repo update xxx
经常使用的pod命令
pod init
:创建podfile文件
pod install
:三方库的版本会受到podfile和podfile.lock两个文件的约束,执行pod install命令会在满足两个文件的版本约束情况下查询本地索引库中最新的版本,同时将版本信息记录在podfile.lock文件中,如果不存在podfile.lock文件会自动创建podfile.lock文件。
pod install --no-repo-update
:会在pod install命令的基础上跳过版本的更新,如果本地存在满足版本约束的低版本会直接使用。
pod update
:忽略podfile.lock文件,直接从远程索引库中去找符合podfile文件约束的最新版本,并更新本地索引库的对应信息。
pod版本指定的约束
pod 'XXX'
:不指定版本,表示希望使用最新版本
pod 'XXX', '1.0.0'
:指定明确版本,表示只想要这个版本
逻辑关系
pod 'XXX', '> 1.0.0'
: 版本号大于1.0.0的
pod 'XXX', '>= 1.0.0'
:版本号大于等于1.0.0的
pod 'XXX', '< 1.0.0'
:版本号小于1.0.0的
pod 'XXX', '<= 1.0.0'
:版本号小于等于1.0.0的
最优匹配
pod 'XXX', '~> 1.0.0'
:版本号大于等于1.0.0并且小于1.1.0的
pod 'XXX', '~> 1.0'
:版本号大于等于1.0并且小于2.0的
pod 'XXX', '~> 1
:版本号大于等于1的
其他信息
CocoaPods的本地索引库所在位置:/Users/用户/.cocoapods
CocoaPods的本地仓库所在位置:/Users/用户/Library/Caches/CocoaPods