build Release configuration with specific xcconfig
This commit is contained in:
parent
1517c53611
commit
21f159b4f8
|
|
@ -122,6 +122,8 @@ private_lane :buildArchive do |options|
|
|||
exportOptions = icloudEnvironment.to_s.empty? ? {} : {iCloudContainerEnvironment: icloudEnvironment}
|
||||
exportOptions[:compileBitcode] = options[:compileBitcode] || false
|
||||
|
||||
set_xcconfig_for_configuration_of_project(options[:configuration], "Release", options[:xcodeproj_path])
|
||||
|
||||
gym(
|
||||
clean: true,
|
||||
workspace: options[:workspace],
|
||||
|
|
@ -129,7 +131,7 @@ private_lane :buildArchive do |options|
|
|||
archive_path: "./",
|
||||
output_directory: "./",
|
||||
output_name: options[:output_name],
|
||||
configuration: options[:configuration],
|
||||
configuration: "Release",
|
||||
export_method: options[:method],
|
||||
export_options: exportOptions,
|
||||
skip_package_ipa: options[:skip_package_ipa],
|
||||
|
|
@ -307,3 +309,19 @@ end
|
|||
def fabric_keys_from_shell_script(shell_script_contents)
|
||||
shell_script_contents.gsub("\\n", "").partition('Fabric/run\" ').last.partition('";').first.split(" ")
|
||||
end
|
||||
|
||||
def set_xcconfig_for_configuration_of_project(xcconfig_name, configuration_name, xcodeproj_path)
|
||||
require 'xcodeproj'
|
||||
|
||||
project = Xcodeproj::Project.open(xcodeproj_path)
|
||||
|
||||
is_app_target = lambda { |t| !t.test_target_type? && t.product_type == Xcodeproj::Constants::PRODUCT_TYPE_UTI[:application] }
|
||||
application_target = project.native_targets.select(&is_app_target).first
|
||||
build_configuration = application_target.build_configuration_list[configuration_name]
|
||||
|
||||
build_configuration_reference = project.files.select { |f| f.path.start_with?(xcconfig_name) }.first
|
||||
|
||||
build_configuration.base_configuration_reference = build_configuration_reference
|
||||
|
||||
project.save()
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue