iOS Fastlane自动化打包(2) 自动上传IPA到蒲公英

在iOS Fastlane自动化打包(1) 安装和打包IPA中,介绍了Fastlan安装和基础的打包之后,下一步就是安装蒲公英插件上传蒲公英。

打开终端,cd进项目目录,输入fastlane add_plugin pgyer,回车,等待安装完成。

编辑Fastfile文件:

default_platform(:ios)

platform :ios do
  desc "打包**版本"
  lane :pkg do |options|

    # 获取当前目录下的plist文件中的版本号
    version = get_info_plist_value(path: "./RealEstateManagement/Info.plist", key: "CFBundleShortVersionString")
    configuration = options[:to]

    # 打包
    gym(
        # 打包的target名称
        scheme:"RealEstateManagement",
        # 打包方式 企业版
        export_method:"enterprise",
        output_directory:"/Users/Javen/Desktop/fastlane",
        output_name:"RM_#{configuration}_#{version}_#{Time.now.strftime('%Y%m%d%H%M%S')}.ipa",
        export_xcargs: "-allowProvisioningUpdates",
    )

    #上传蒲公英
    if configuration == "test"
        puts "   \033[31m打包完成,正在上传测试蒲公英\033[0m\n"
        pgyer(
            api_key: "***", 
            user_key: "***"
            )
        
        puts "
**测试版 已发布!
版本号:   #{version}
iOS:      http://www.pgyer.com/***_TEST_IPA
Android:  http://www.pgyer.com/***_TEST_APK"
    end
    
    if configuration == "release"
        puts "   \033[31m打包完成,正在上传正式蒲公英\033[0m\n"
        pgyer(
            api_key: "***", 
            user_key: "***"
            )
        
        puts "
**正式版 已发布!
版本号:   #{version}
iOS:      http://www.pgyer.com/*_IPA
Android:  http://www.pgyer.com/*_APK"
    end
  end
end

核心调用蒲公英插件上传的代码就是这一行

pgyer(
            api_key: "***", 
            user_key: "***"
            )

我这里配置了个to参数,用来区别测试版和正式版。
打包测试版并提交到蒲公英 fastlane ios pkg to:test
打包正式版并提交到蒲公英 fastlane ios pkg to:release

iOS Fastlane自动化打包(3) 打包结果推送通知到手机
iOS Fastlane配合Jenkins实现一键自动化打包

你可能感兴趣的:(iOS Fastlane自动化打包(2) 自动上传IPA到蒲公英)