iOS打包审核

Fastlane自动化打包

2018-08-27  本文已影响29人  CowboyBebop

参考: https://blog.csdn.net/kuangdacaikuang/article/details/80443515
https://docs.fastlane.tools

一,先安装Fastlane

安装fastlane,

sudo gem install fastlane --verbose

查看fastlane 版本

fastlane --version

二,创建demo工程

因为大多数项目,都会使用pod ,所以这样也是用了pod


image.png

三,初始化

可能你会遇到下面这样的错误


image.png

因为它默认的源是:https://rubygems.org,但是我本地的是https://gems.ruby-china.com,这个是因为上面的source 被墙了,就换成了下面那个,你可以在Gemfile文件里将它换成后面那个。

image.png
然后执行:bundle update,就行了。

四,安装其他插件

你可以选择上传到firm 或者蒲公英平台都可以,这里我选择是蒲公英。

bundle exec fastlane add_plugin pgyer
bundle exec fastlane add_plugin versioning

-3,安装版wait_xcrun插件

bundle exec fastlane add_plugin wait_xcrun

五,修改Fastfile 文件

image.png

安装完了,我们可以看看fastlane 这个文件夹下面的文件,Appfile 是放APP ID的一些信息,Pluginfile 是插件的一些信息,metadata 是App Store 的一些元数据,screenshots 是放截图的,Fastfile 是我们真正要修改的文件

需要实现的功能:
1,buidl版本号自增,
2,拉取git提交记录作为蒲公英的上传描述,
3,邮件通知测试人员,
4,新建文件夹放导出的IPA 包
5,配置文件的更新:update_project_provisioning

# 1,版本自增,2,拉取git提交记录作为蒲公英的上传描述,3,邮件通知测试,4,新建文件夹放导出的IPA 包
default_platform(:ios)
platform :ios do
  before_all do
    puts "在打包之前"
    # git_pull
    cocoapods
  end
  after_all do
  puts "打包完成,并上传蒲公英成功"
  end


  desc "build版本自增"
  lane :build_number do

    #fastlane add_plugin versioning
    increment_build_number_in_plist
  end

  desc "上传到蒲公英,请用 fastlane beta desc:xxx "
  lane :beta do |option|

    changelog = option[:desc]
    # 如果没有写描述,就拉取git最好一次commit 作为描述
    if option[:git] == "y"
      git_add(path: ".")
      git_commit(path: ".", message:changelog)
      push_to_git_remote

    elsif changelog.nil?
      changelog = last_git_commit[:message]
      puts "changelog: #{changelog}"
      
    else

    end
    #版本自增
    increment_build_number_in_plist

    #编译打包参数
    # 项目名称
    scheme_name = "FastlaneDemo"
    # Debug 方法
    configuration = "Debug"
    # Info.plist的路径
    plist_path = "./#{scheme_name}/Info.plist"
    # version 版本号
    version = get_info_plist_value(path: plist_path, key: "CFBundleShortVersionString")
    # build 版本号
    build = get_info_plist_value(path: plist_path, key: "CFBundleVersion")
    # APP名称
    app_name = get_info_plist_value(path: plist_path, key: "CFBundleDisplayName")
    # IPA 的存放路径,如果项目用git 管理的,这个文件夹应该要忽略掉,
    output_directory = "./IPA"
    # 拼接出 ipa 包的名称,会根据打包方式,version版本号,build 版本号,当前打包时间拼接出包名
    output_name = "#{scheme_name}_#{configuration}_#{version}_#{build}_#{Time.now.strftime('%Y%m%d%H%M')}.ipa"
    
    #编译 
    gym(
      scheme: scheme_name, 
      workspace: "#{scheme_name}.xcworkspace",
      clean: true, 
      export_method:'ad-hoc', 
      configuration: configuration, 
      output_directory: output_directory, 
      output_name: output_name
      )
# 这句会编译出 dsym 文件
#   build_app(export_method: "ad-hoc")
    #填上你在蒲公英后台的key
    pgyer(api_key: "换上自己的key", user_key: "换上自己的key", update_description: changelog)
  end
end

六,打包测试

 fastlane beta desc:第一次打包测试
before_all do
   puts "在打包之前"
   # git_pull
   cocoapods
 end
image.png

FastlaneDemo

上一篇下一篇

猜你喜欢

热点阅读