class Xcodeproj::Project::Object::XCConfigurationList


related build configurations of a {PBXProject} or a {PBXNativeTarget}.
The primary purpose of this class is to maintain a collection of

def [](name)

Returns:
  • (Nil) - If not build configuration with the given name is found.
  • (XCBuildConfiguration) - The build configuration.

Parameters:
  • name (String) --
def [](name)
  build_configurations.find { |bc| bc.name == name }
end

def ascii_plist_annotation

def ascii_plist_annotation
  if target.nil?
    ' Build configuration list for <deleted target> '
  else
    " Build configuration list for #{target.isa} \"#{target}\" "
  end
end

def build_settings(build_configuration_name)

Returns:
  • (Hash {String=>String}) - the build settings

Parameters:
  • build_configuration_name (String) --
def build_settings(build_configuration_name)
  if config = self[build_configuration_name]
    config.build_settings
  end
end

def get_setting(key, resolve_against_xcconfig = false, root_target = nil)

Returns:
  • (Hash{String => String}) - The value of the build setting

Parameters:
  • root_target (PBXNativeTarget) --
  • resolve_against_xcconfig (Bool) --
  • key (String) --
def get_setting(key, resolve_against_xcconfig = false, root_target = nil)
  result = {}
  build_configurations.each do |bc|
    result[bc.name] = resolve_against_xcconfig ? bc.resolve_build_setting(key, root_target) : bc.build_settings[key]
  end
  result
end

def set_setting(key, value)

Returns:
  • (void) -

Parameters:
  • value (String) --
  • key (String) --
def set_setting(key, value)
  build_configurations.each do |bc|
    bc.build_settings[key] = value
  end
end

def target

def target
  return project.root_object if project.build_configuration_list.uuid == uuid
  project.targets.find { |t| t.build_configuration_list.uuid == uuid }
end