iOS 持续集成 - fastlane 问题集锦
问题
1. Apple Generic Versioning is not enabled in this project
使用 increment_build_number 时,会出现的问题
解决办法
在 target -> building setting 中, 搜索 current project version, 出现 versioning system 选择 Apple Generic
2. Cannot set build number with plist path containing $(SRCROOT)
fastlane 无法识别出 $(SRCROOT)的路径
--解决方法; 网上查找的都是 找到项目的 info.plist 配置, 移除 $(SRCROOT)即可. 但是平时使用时 项目的 plist 却定位不了.--
fastlane 的 传参问题
格式  fastlane lane-name key1:value1 key2:value2 key3:value3
自定义 lane 的解析:
desc "Push a new beta build to TestFlight"
  lane :beta do |options| 
  	increment_build_number
    scheme = options[:scheme]
    export_method = options[:export_method]
    export_time = options[:export_time]
    build_app(workspace: "AppNameTest.xcworkspace",
     		  scheme: scheme, 
     		  clean:true, 
     		  include_bitcode: false,
     		  silent: true, 
			  export_method: export_method,
			  include_symbols: true,
     		  output_directory: "~/iOS/AppNameTest/build", 
     		  output_name: "AppNameTest${export_time}.ipa", 
     		  export_xcargs: "-allowProvisioningUpdates")
    changelog_from_git_commits
  	upload_to_testflight
  end
环境变量	来源	说明	备注
FASTLANE_USER	credentials_manager	Apple 开发者账户名	验证通过后会保存 Keychain
FASTLANE_PASSWORD	credentials_manager	Apple 开发者账户密码	验证通过后会保存 Keychain
FASTLANE_TEAM_ID
CERT_TEAM_ID	produce
sigh	Apple 团队 ID	
DELIVER_USER
PRODUCE_USERNAME	deliver
produce	iTunesConnect 账户名	
DELIVER_PASSWORD	deliver	iTunesConnect 账户密码	
MATCH_PASSWORD	match	证书加/解密密码	
FASTLANE_XCODE_LIST_TIMEOUT