美文网首页
fastlane踩坑之路(本篇只帮助理解这个东西)

fastlane踩坑之路(本篇只帮助理解这个东西)

作者: 进击的小杰 | 来源:发表于2018-01-20 18:01 被阅读1230次

    本人ios小菜鸡一枚,这篇文章涉及比较多Ruby方面的内容。不过和终端打交道其实很多时候需要掌握这方面的内容。
    Ruby源有很多:这是其中的一个http://rubygems.org/
    fastlane是基于Ruby的开发脚本集合有助于我们在IOS开发过程中达到简便的开发。
    首先fastlane基于Ruby的开发脚本集合,那么在RubyGems中应该能搜索的到。
    这里说一下cocoapods,相信做ios的一般都知道吧。其实都一样。
    cocoapods也是fastlane基于Ruby的开发脚本集合。
    fastlane和cocoapods一样,又是基于Ruby的开发脚本集合,所以这三个我们可以放在一起看。其实还有一个bundler都一样。这些东西在下面会有讲到,内容可能分的比较散。

    安装fastlane:(最新版本)
    sudo gem install fastlane --verbose 
    这里啰嗦一下,说实话我执行过这么多的命令,但是我其实没有去搞清楚这个gem死干嘛的。其实搞清楚后面走的你都会比较顺畅。
    Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem源来查找、安装、升级和卸载软件包,非常的便捷。
    如果gem命令找不到的话,你可能要装一下gem了。
    Ruby总有的吧,可能版本不一样。
    
    安装Xcode命令行工具
    Xcode-select --install
    

    安装fastlane之后,cd到工程目录然后

    执行fastlane init
    (第一次执行会让你输入一些苹果开发者账号相关的信息,账号密码团队信息等)
    顺利执行玩之后应该会生成几个文件 Appfile Fastfile Deliverfile还有一些其他东西,什么截屏啊,icon啊这些的,讲一下这三个文件
    
    
    进行配置脚本
    Fastfile => 用来定义所有的lane任务 可以看一个个方法
    Appfile => 是用来存储一些公共信息的,比如app_identifier,apple_id,team_id,itc_team_id等。
    Deliverfile => deliver的配置文件
    Fastfile是进行任务操作的一个文件
    里面会有一些 before_all do   after_all do这些操作,这个看看名字就知道了吧,before_all do一般做一些环境以及路径的配置,cocoapods 的一些操作,当然你也可以直接也在命令主体里面写
    平常的使用就是我们在写代码的时候那种方式一样,就是写死,统统写死,开始我也是这样的,后来业务需求越来越多,所以我开始使用外部传入参数的方式和定义环境变量的方式来进行的动态配置,这边就不具体展开了。
    上传到蒲公英以及fir的时候需要安装插件。
    这时候就涉及到上面写的那些东西了。
    
    gemfile 和podfile  gemfile.lock  podfile.lock其实很相似
    当我们安装一个插件的时候,就像之前的安装fastlane 执行sudo gem install fastlane --verbose 方法一样,如果本地有gemfile,gemfile就帮我们进行了gem的管理,就像podfile管理pod,简单的说都是进行索引绑定的,就像在podfile中添加要用的相应源一样然后执行 bundle install进行一个更新操作,就像cocoapods中的pod install。podfile.lock和 gemfile.lock里面就会生成相应的所关联的资源的版本信息。
    

    大致一个步骤
    首先在gemfile中添加相应的gem源


    示例1
    示例2

    用bundle install命令进行一个更新操作(bundle也是ruby的一个脚本操作集名字叫(bundler),这个命令就像pod install一样的作用)
    然后在fastlane中添加这个插件fastlane add_plugin firim
    就应该可以使用了

    相关文章

      网友评论

          本文标题:fastlane踩坑之路(本篇只帮助理解这个东西)

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