fastlane简单使用

作者: 悃破 | 来源:发表于2017-03-23 16:10 被阅读363次

    1、安装

    Ruby 2.0.0及以上版本
    (1)使用 gem 安装 fastlane

    sudo gem install fastlane
    

    (2)直接下载安装:(https://github.com/fastlane/fastlane

    image.png

    (3)确保 Xcode 命令行工具已安装:

    xcode-select --install
    

    2、基本使用

    (1)cd到工程所在的文件
    (2)输入命令

    fastlane init
    

    期间会要求输入app 的id、密码、bundle identifier等(如果在多个team会让选择哪个team)。
    完成后会增加一个fastlane文件夹,里面有两个文件Appfile、Fastfile。
    (3)修改Fastfile,使用相关命令。

    3、使用场景举例

    要求,按规定方式命名并把ipa和dSYM文件放到指定位置。
    fastlane文件如下:

    lane :dev_ipa do
        cocoapods
        increment_build_number
        increment_version_number
        build_number = get_build_number(xcodeproj: "appName.xcodeproj")
        version = get_version_number(xcodeproj: "appName.xcodeproj")
        time = Time.new
        time_str = time.strftime("%Y%m%d")
        current_path = File.expand_path("..")
        out_put_path = current_path + time.strftime("%Y%m%d%H%M")
        gym(
          workspace: "appName.xcworkspace",
          scheme: "appName",
          clean: true,
          output_directory: out_put_path,
          output_name: "appName" + "-" + time.strftime("%Y%m%d") + "-" + version + "-v" + build_number + "-dev",
          configuration: "Debug",
          silent: true,
          include_symbols: true,
          include_bitcode: true,
          export_method: "enterprise",
          use_legacy_build_api: true,
          increment_version_number,
        )
      end
    

    4、命令的一些说明

    workspace:"appName.xcworkspace”,#指定.xcworkspace文件的路径。

    scheme:"appName",#指定项目的scheme名称,如果不设置会在终端里提醒设置

    clean:true,#在打包前是否先执行clean。

    output_directory:"path/to/dir",#指定.ipa文件的输出目录,默认为当前文件夹。

    output_name:"appName",#指定生成的.ipa文件的名称,应包含文件扩展名。

    configuration:"Debug",#指定打包时的配置项,默认为Release。证书要在Xcode里面配置好,关于配置证书请参考(https://docs.fastlane.tools/codesigning/xcode-project/)
    silent:true,#是否隐藏打包时不需要的信息。

    include_symbols:true, #是否生成符号表,默认true

    include_bitcode:true,#是否开启bitcode,默认true

    export_method:"ad-hoc",#指定导出.ipa时使用的方法,可用选项:app-store, ad-hoc, package, enterprise, development, developer-id。默认:app-store。只有在证书完全匹配成功的情况下才能打出想要的包,一定要保证工程设置正确。

    其它常用命令

    获取build:build_number = get_build_number(xcodeproj: "appName.xcodeproj")

    获取version:version = get_version_number(xcodeproj: "appName.xcodeproj")

    获取当前文件的位置:current_path = File.expand_path("..")

    获取时间:time = Time.new ,time_str = time.strftime("%Y%m%d")

    如果打包失败添加:use_legacy_build_api: true,试一试。

    版本号自动增加:increment_version_number,

    build自动增加:increment_build_number
    注:自动增加版本号需要配置,具体配置请参考官方文档使用fastlane自动增加版本号

    相关文章

      网友评论

      • Bruce_XHG:3、使用场景举例

        要求,按规定方式命名并把ipa和dSYM文件放到指定位置。 你并没有说 DSYM 怎么放到指定路径和修改 dsym 的名字怎么操作啊
        悃破:dsym和ipa在同文件夹下,名称相同,如果的dsym希望放到另一个路径可以使用mvdir
      • 1367116aef9c:你好 请问一下 怎么这种Build号 默认好像从0开始
        悃破:@Minsol 直接在Xcode里设置就行了,get_build_number(xcodeproj: "appName.xcodeproj")只是取build的值。
        1367116aef9c:@悃愊无华 谢谢 如果我想用我自己设置的Build号呢
        悃破:创建完工程默认是1吧
      • Sunshine_Boys:不错,很详细

      本文标题:fastlane简单使用

      本文链接:https://www.haomeiwen.com/subject/sioznttx.html