require 'openssl' # Workaround: fastlane 2.234.0 uses OpenSSL::PKey::EC.new which fails on # PKCS#8 keys with OpenSSL 3.x ("invalid curve name"). Fallback to PKey.read. module OpenSSL module PKey class EC class << self alias_method :_orig_new, :new def new(*args) _orig_new(*args) rescue OpenSSL::PKey::ECError raise unless args.length == 1 && args[0].is_a?(String) OpenSSL::PKey.read(args[0]) end end end end end default_platform(:ios) platform :ios do desc "Build and upload to TestFlight" lane :beta do setup_ci key_content = Base64.decode64(ENV["ASC_KEY_CONTENT"]) app_store_connect_api_key( key_id: ENV["ASC_KEY_ID"], issuer_id: ENV["ASC_ISSUER_ID"], key_content: key_content, is_key_content_base64: false ) match(type: "appstore", readonly: true) increment_build_number( build_number: ENV["GITHUB_RUN_NUMBER"], xcodeproj: "ios/ProposalSystem.xcodeproj" ) build_app( workspace: "ios/ProposalSystem.xcworkspace", scheme: "ProposalSystem", configuration: "Release", export_method: "app-store", output_directory: "build", output_name: "ProposalSystem.ipa" ) upload_to_testflight(skip_waiting_for_build_processing: true) end end