美文网首页
【潮汐】iOS-fastlane自动化打包到TestFlight

【潮汐】iOS-fastlane自动化打包到TestFlight

作者: 爱恨的潮汐 | 来源:发表于2020-05-28 14:09 被阅读0次

    fastlane自动化打包到TestFlight发布进阶,高级语法,包含蒲公英和TestFlight。进阶先配置基础自动化打包参考:iOS利用Fastlane自动打包上传到蒲公英和TestFlight

    完整Fastfile文件代码如下:
    #打包发布到蒲公英命令:
    #dev
    #fastlane pgy_Debug 
    #预上线
    #fastlane pgy_ReleaseYSX 
    #线上正式
    #fastlane pgy_Release
    
    #打包发布到AppStore的TestFlight命令:
    #dev
    #fastlane Debug 
    #预上线
    #fastlane ReleaseYSX 
    #线上正式
    #fastlane Release
    
    #声明
    IPA_TIME = Time.now.strftime("%Y年%m月%d日%H:%M")#打包日期,全局变量
    
    default_platform(:ios)
    
    platform :ios do
       desc "多环境、多平台自动化打包"#通用注释,打包不用修改
    
       #update_content是版本更新内容,每次打包可以修改此处
       update_content = "修复bug,稳定"
       
    #打包上传到蒲公英 - Debug,打包命令:cd到工程下再命令:fastlane pgy_Debug
    lane :pgy_Debug do
    #局部变量
      ENCIRONMENT_DES = "dev环境"#环境配置
      pgy_package(configuration: "Debug")#指定构建App的配置  Release、Debug、自定义
    end
    #打包上传到蒲公英 - Debug_ProductServer
    lane :pgy_ReleaseYSX do
      #局部变量
        ENCIRONMENT_DES = "预上线环境"#环境配置
        pgy_package(configuration: "Debug_ProductServer")#指定构建App的配置  Release、Debug、自定义
      end
    #打包上传到蒲公英 - Release
    lane :pgy_Release do
      #局部变量
        ENCIRONMENT_DES = "线上正式环境"#环境配置
        pgy_package(configuration: "Release")#指定构建App的配置  Release、Debug、自定义
      end
    
    #蒲公英公用类  
      lane :pgy_package do |option|
    
       build_app(export_method: "ad-hoc",#打包证书选择
                 scheme: "miniVideo",#选择打包项目的taregets
                 export_xcargs: "-allowProvisioningUpdates",#自动更新证书,防止因为证书打包失败
                 configuration: option[:configuration]#指定构建App的配置  Release、Debug、自定义
                 )
       pgyer(api_key: "02997a39bc6227fabe632e1829532b33",   user_key:"3008c7be1e0c92bd05a554dd91aa8aef",
           update_description: "【" + "#{ENCIRONMENT_DES}" + "," + "#{IPA_TIME}" + "打包上传】"+update_content
           )
    # 可选的值有:app-store、ad-hoc、development、enterprise。
      end
    
    
    #打包到AppStore的TestFlight-Debug
      lane :Debug do
        #局部变量
          ENCIRONMENT_DES = "dev环境"#环境配置
          AppStore_package(configuration: "Debug")#指定构建App的配置  Release、Debug、自定义
        end
    
       #打包到AppStore的TestFlight-Debug_ProductServer
      lane :ReleaseYSX do
        #局部变量
          ENCIRONMENT_DES = "预上线环境"#环境配置
          AppStore_package(configuration: "Debug_ProductServer")#指定构建App的配置  Release、Debug、自定义
        end
    
        #打包到AppStore的TestFlight-Release
      lane :Release do
        #局部变量
          ENCIRONMENT_DES = "线上正式环境"#环境配置
          AppStore_package(configuration: "Release")#指定构建App的配置  Release、Debug、自定义
        end
    
      #TestFlight公用类 
      lane:AppStore_package do |option|
      #增加build版本号,需要先配置build setting,每次build自动+1
      increment_build_number(xcodeproj: "miniVideo.xcodeproj") #build自动+1
        build_app(workspace: "miniVideo.xcworkspace", scheme: "miniVideo",
                  configuration:option[:configuration],#指定构建App的配置  Release、Debug、自定义
        )
         upload_to_testflight(
                   beta_app_review_info: {
                    contact_email: "yingxiangguoji@yxgj100.com",
                    contact_first_name: "ying",
                    contact_last_name: "xiang",
                    contact_phone: "15600301632",
                    demo_account_name: "13526260425",
                    demo_account_password: "888888",
                    notes: "适用于fastlane自动打包上传提审等操作 thank you for reviewing"
                  },
                  localized_build_info: {
                    "default": {
                      whats_new: "【" + "#{ENCIRONMENT_DES}" + "," + "#{IPA_TIME}" + "打包上传】"+update_content,#【App更新内容,如:修复bug】
                    },
                    "en-GB": {
                      whats_new: "适用于fastlane自动打包上传提审等操作(en-GB)",
                    }
                  },
         
                #  true就不自动提审了 
                    skip_waiting_for_build_processing: false,#如果您想跳过等待处理完成的过程。
                    skip_submission:false,#跳过pilot的分发操作,只上传ipa文件
                    username: "yingxiangguoji@yxgj100.com",#要提交到的开发者账号
                    app_identifier: "com.ying.miniVideo",
                    beta_app_feedback_email:"yingxiangguoji@yxgj100.com",#上传新版本时提供测试版应用邮件
                    beta_app_description:"fastlane自动化打包App描述",#上传新版本时提供“Beta应用描述”【显示在app详情,描述里】
                    demo_account_required: true,#当苹果进行评论时,你需要一个演示账户吗?
                    
                #构建是否应该分发给外部测试人员?
                    distribute_external: true,
                      notify_external_testers: true,
                    groups:"公测",#将测试人员按照组名/组id关联到一个或多个组。例如-g“团队1”,“团队2”
                    changelog:"解决测试提出的bug",#上传新版本时,提供“要测试什么”文本。skip_waiting_for_build_processing:设置更改日志需要false
                    beta_app_feedback_email:"yingxiangguoji@yxgj100.com",#上传新版本时提供测试版应用邮件
                         ipa: "花生短视频.ipa"#到要上载的ipa文件的路径
                )
        
       # upload_to_testflight
        #打包命令cd到工程下再命令:fastlane Debug
      end
      
    end
    
    
    

    用VScode编辑器可以编辑,首先创建一个.rb结尾的文件,如Fastfile.rb

    相关文章

      网友评论

          本文标题:【潮汐】iOS-fastlane自动化打包到TestFlight

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