准备
使用fastlane之前, 需要安装gem, 也就是Ruby的插件管理工具.
因为我国的网络管控的原因, 如果想要节省时间, 可以替换gem的默认的源
替换的方法:
先移除原来的源
gem source -r <原来的源>
更换:
gem source -a [https://gems.ruby-china.org](https://gems.ruby-
china.org)
可选
如果为了更好的管理电脑中的Ruby环境, 这里有一套可选操作,
- 安装rvm :
curl -L [https://get.rvm.io](https://get.rvm.io) | bash -s stable
- 安装ruby环境:
rvm list known, rvm install ruby-x.x.x
- 更换源:
gem source -r <原来的源>
gem source -a [https://gems.ruby-china.org](https://gems.ruby-china.org)
安装
sudo gem install -n /usr/local/bin/ fastlane
也可以使用brew:
brew cask install fastlane
使用
如果工程中初次使用:
fastlane init
如果需要取得证书:
fastlane match development --readonly
development可以替换为 adhoc, appstore来获取不同的证书
使用已有的证书
fastlane的match可以自动新建证书, 但是新建的证书暂时不支持额外的entitlement的添加.
也就是说, 我们需要进一步处理一下:
- 在develop portal上手动下载(如果需要编辑, 记得编辑好, 比如选择证书, 增加entitlements等)provision文件
- 加密
openssl aes-256-cbc -k <repo 密码> -in 下载的文件 -out 生成的文件 -a
将生成的文件替换掉certificate repo上的已经存在的provision文件就可以了.
自动生成有指定entitlement的证书
上一节使用自己加密上传的方式, 在每次更新证书时, 都需要手动操作,比较麻烦. 在fastlane 2.55之后支持通过模板名称创建指定的provison文件. 需要在FastFile中添加如下的代码,
match(type: "development",
app_identifier: "net.yahoo.mobiledev",
template_name: "Network Extension iOS (Dev)",
force: true
)
请注意, 如果是adhoc或者是appstore, template_name是跟上面会有不同的. 具体的template_name定义, 请参考:
The name of provisioning profile template. If the developer account has provisioning profile templates, template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile