From 3bffb17ee61ccfa2a919dd39d52898cd845f299d Mon Sep 17 00:00:00 2001 From: Sergey Kopytov Date: Fri, 30 Aug 2019 20:50:08 +0300 Subject: [PATCH 1/2] fix config lane for work wih multiple configs --- xcode/commonFastfile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/xcode/commonFastfile b/xcode/commonFastfile index 0cea863..aa0bbca 100644 --- a/xcode/commonFastfile +++ b/xcode/commonFastfile @@ -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] + is_app_target = lambda do |t| + application_const = Xcodeproj::Constants::PRODUCT_TYPE_UTI[:application] + extension_const = Xcodeproj::Constants::PRODUCT_TYPE_UTI[:app_extension] + + is_valid_id = [application_const, extension_const].include?(t.product_type) + return !t.test_target_type? && is_valid_id + end - build_configuration_reference = project.files.select { |f| f.path.start_with?(xcconfig_name) }.first + application_targets = project.native_targets.select(&is_app_target) + + 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 From 6d01fefb6f43108049d2abc80048a14371d6c787 Mon Sep 17 00:00:00 2001 From: Sergey Kopytov Date: Mon, 2 Sep 2019 14:02:25 +0300 Subject: [PATCH 2/2] refactor --- xcode/commonFastfile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/xcode/commonFastfile b/xcode/commonFastfile index aa0bbca..2ad35d9 100644 --- a/xcode/commonFastfile +++ b/xcode/commonFastfile @@ -364,15 +364,15 @@ def set_xcconfig_for_configuration_of_project(xcconfig_name, configuration_name, project = Xcodeproj::Project.open(xcodeproj_path) - is_app_target = lambda do |t| - application_const = Xcodeproj::Constants::PRODUCT_TYPE_UTI[:application] - extension_const = Xcodeproj::Constants::PRODUCT_TYPE_UTI[:app_extension] - - is_valid_id = [application_const, extension_const].include?(t.product_type) - return !t.test_target_type? && is_valid_id - end + 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 - application_targets = project.native_targets.select(&is_app_target) + application_targets = project.native_targets.select(&target_to_modify_selector) application_targets.each do |target| build_configuration = target.build_configuration_list[configuration_name]