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

2020-05-28  本文已影响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 -------------- #

点击查看原文

上一篇下一篇

猜你喜欢

热点阅读