class Fastlane::Actions::XcodebuildAction
def self.hash_to_args(hash)
def self.hash_to_args(hash) # Remove nil value params hash = hash.delete_if { |_, v| v.nil? } # Maps nice developer param names to CLI arguments hash.map do |k, v| v ||= "" if arg = ARGS_MAP[k] value = (v != true && v.to_s.length > 0 ? "\"#{v}\"" : "") "#{arg} #{value}".strip elsif k == :build_settings v.map {|setting, val| "#{setting}=\"#{val}\""}.join(' ') elsif k == :destination [*v].collect { |dst| "-destination \"#{dst}\"" }.join(' ') elsif k == :keychain && v.to_s.length > 0 # If keychain is specified, append as OTHER_CODE_SIGN_FLAGS "OTHER_CODE_SIGN_FLAGS=\"--keychain #{v}\"" end end.compact.sort end