美文网首页
【转】iOS如何使用fastlane的pilot将ios包上传到

【转】iOS如何使用fastlane的pilot将ios包上传到

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

    通过一些基础知识可以知道pilot是专门管理testflight打包审核的,但在百度搜索”pilot fastlane“搜不到完整命令如何写的。

    所以在这篇进行一个中间人跳转。

    https://www.jianshu.com/p/eafa2fa37c1b 《 iOS项目的 fastlane / jenkins 实践》这篇博客里有fastlane上传testflight并提交beta审核的命令。

    补充一下文章里面的代码,

    自定义文件位置 lane :build_appstore下面添加

    output_directory: './testflight',
    output_name: 'TestDemo.ipa'

    然后 lane :upload_testflight下面的

    ipa: "XXX" 改为 ipa: "testflight/TestDemo.ipa"

    上传失败的经历:

    0.要给终端完全磁盘权限,部分文件夹也需要chmod 777

    1.工程的证书配置是测试的,手动设置,fastlane里面是生产的。导致上传失败。

    2.fastlane里面没设置版本号,导致在工程里面改了版本号也会被fastlane变成1

    3.上传testflight,要把忽略截图写上

    4.双重认证设置

    5.beta_app_review_info。value must be a Hash! Found String instead. 去掉这个字段

    6.false不要拼错

    7 Could not set beta_app_feedback_email and/or beta_app_description: Server error got 504

    8.家里的长城宽带,传8次7次503,504。

    在公司联通LTE网,不行,等不了200k

    在家里联通LTE网慢点,但没报错。

    在家里电信4G网快,但经常报错,443或者读取ipa错误。

    9.FASTLANE_XCODEBUILD_SETTINGS_RETRIES 设置大点 经常报超时

    10.[Transporter Error Output]: An exception has occurred: Broken pipe (Write failed)

    最终我完善后的fastlane命令是,可以提交testflight审核,提测,通知测试人员

      # -------------- testflight -------------- #
      desc "Build and upload a PROD app to TestFlight"
      lane :release_testflight do
            build_appstore
            upload_testflight
      end
     
      lane :build_appstore do
            increment_build_number_in_plist(
                target: '~~~~~',
                build_number: '1.0.4.444444'
            )
     
            increment_version_number_in_plist(
                target: '~~~~~~~',
                version_number: '1.0.3'
            )
            gym(
                  configuration: "Release",
                  scheme: "~~~~~~~",
                  clean: true,
                  include_bitcode: true,
                  include_symbols: true,
                  export_method: 'app-store',
                  export_xcargs: "-allowProvisioningUpdates",
                  output_directory: './testflightNew',
                  output_name: 'TestDemo.ipa'
            )
      end
     
      lane :upload_testflight do
     
            upload_to_testflight(
     
               beta_app_review_info: {
                contact_email: "111@qq.com",
                contact_first_name: "ww",
                contact_last_name: "分",
                contact_phone: "123",
                demo_account_name: "123",
                demo_account_password: "111",
                notes: "适用于fastlane自动打包上传提审等操作 thank you for reviewing"
              },
              localized_build_info: {
                "default": {
                  whats_new: "适用于fastlane自动打包上传提审等操作",
                },
                "en-GB": {
                  whats_new: "适用于fastlane自动打包上传提审等操作",
                }
              },
     
            #  true就不自动提审了
                skip_waiting_for_build_processing: false,
                skip_submission:false,
                username: "123@qq.com",
                app_identifier: "com.123",
                beta_app_feedback_email:"123@qq.com",
                beta_app_description:"适用于fastlane自动打包上传提审等操作",
                demo_account_required: true,
            #构建是否应该分发给外部测试人员?
                distribute_external: true,
                  notify_external_testers: true,
                groups:"122222",
                changelog:"适用于fastlane自动打包上传提审等操作",
                beta_app_feedback_email:"22222@qq.com",
                     ipa: "testflightNew/TestDemo.ipa"
            )
     
      end
      # -------------- testflight -------------- #
    

    点击查看原文

    相关文章

      网友评论

          本文标题:【转】iOS如何使用fastlane的pilot将ios包上传到

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