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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355