Merge pull request #137 from TouchInstinct/fix/multipleTargetsConfig

fix config lane for work wih multiple configs
This commit is contained in:
Sergey 2019-09-02 14:03:21 +03:00 committed by GitHub
commit 88622a8245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 5 deletions

View File

@ -364,13 +364,23 @@ def set_xcconfig_for_configuration_of_project(xcconfig_name, configuration_name,
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]
target_to_modify_selector = lambda do |t|
supported_product_types = [
Xcodeproj::Constants::PRODUCT_TYPE_UTI[:application]
Xcodeproj::Constants::PRODUCT_TYPE_UTI[:app_extension]
]
return !t.test_target_type? && supported_product_types.include?(t.product_type)
end
build_configuration_reference = project.files.select { |f| f.path.start_with?(xcconfig_name) }.first
application_targets = project.native_targets.select(&target_to_modify_selector)
application_targets.each do |target|
build_configuration = target.build_configuration_list[configuration_name]
config_name = target.name + xcconfig_name
build_configuration_reference = project.files.select { |f| f.path.start_with?(config_name) }.first
build_configuration.base_configuration_reference = build_configuration_reference
end
build_configuration.base_configuration_reference = build_configuration_reference
project.save()
end