cyfuer

Jun 07, 2017

iOS自动打包方案:Fastlane

 

安装fastlane

  • fastlane是基于ruby的,所以我们需要安装下ruby环境,这里ruby已经安装好了:
 
  • 然后检查 Xcode 命令行工具是否安装。在终端窗口中输入命令:
 
  • 通过gem安装fastlane
 
这里遇到一个小插曲,安装好的fastlane无法运行,运行fastlane -v 报错:
找了很多办法,最后卸载fastlane,重新通过以下命令安装就可以了
 
执行fastlane -v 检测是否安装成功:
 

使用fastlane

  • 进入到要用fastlane自动打包的工程根目录,执行以下命令初始化fastlane
    • 输出如下:
       
      最后面罗列出了使用fastlane的功能:
      1、代表app市场图片素材;
      2、发布到TestFlight进行测试;
      3、发布到App Store;
      4、自定义
       
  • 选择4自定义打包过程,等待初始化完成之后,工程目录就多了一个fastlane 目录,其内容如下:
    • notion image
      可能会遇到bundle update 命令卡很久(网络被墙了)。解决办法是关闭当前终端进程。然后在项目根目录执行以下命令:
       
  • 这里选择用蒲公英平台发包,所以还需要添加一个蒲公英测试平台的插件,在终端执行以下命令安装蒲公英插件:
    • 安装完成后fastlane 目录会多一个Pluginfile文件,如下图所示:
      notion image
      Appfile用来编辑设置app_identifier,apple_id和team_id的信息;
      Pluginfile是存放蒲公英测试平台的默认配置;
      Fastfile管理你所创建的 lane;
       
      appfile内容:
       
      fastfile内容:
       
      fastfile的参考格式一般如下所示:
       
      其中一个lane就是一个任务,里面是一个个的action组成的工作流。利用目前支持的工具可以做所有包含自动化和可持续化构建的每个环节,例如:
    • scan 自动化测试工具,很好的封装了 Unit Test
    • sigh 针对于 iOS 项目开发证书和 Provision file 的下载工具
    • match 同步团队每个人的证书和 Provision file 的超赞工具
    • gym 针对于 iOS 编译打包生成 ipa 文件
    • deliver 用于上传应用的二进制代码,应用截屏和元数据到 App Store
    • snapshot 可以自动化iOS应用在每个设备上的本地化截屏过程
    •  
  • 在工程根目录执行lane命令
    •  
      如果安装了mac版的蒲公英客户端的朋友,在自动打包完成之后,客户端会自动拦截ipa的动作(前提是保证你的账户和fastfile里面对于蒲公英的配置api_key 和user_key的配置保持一致即可)然后将ipa上传即可。
       

参考链接

 

Copyright © 2025 cyfuer

logo