class Pod::Generator::XCConfig::AggregateXCConfig


Generates the xcconfigs for the aggregate targets.

def generate

Returns:
  • (Xcodeproj::Config) -

Other tags:
    Todo: - This doesn't include the specs xcconfigs anymore and now the

Other tags:
    Note: - The xcconfig file for a Pods integration target includes the
def generate
  @xcconfig = Xcodeproj::Config.new({
    'OTHER_LDFLAGS' => XCConfigHelper.default_ld_flags(target),
    'HEADER_SEARCH_PATHS' => XCConfigHelper.quote(target.sandbox.public_headers.search_paths),
    'PODS_ROOT' => target.relative_pods_root,
    'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1',
  })
  target.pod_targets.each do |pod_target|
    pod_target.file_accessors.each do |file_accessor|
      XCConfigHelper.add_spec_build_settings_to_xcconfig(file_accessor.spec_consumer, @xcconfig)
      file_accessor.vendored_frameworks.each do |vendored_framework|
        XCConfigHelper.add_framework_build_settings(vendored_framework, @xcconfig, target.sandbox.root)
      end
      file_accessor.vendored_libraries.each do |vendored_library|
        XCConfigHelper.add_library_build_settings(vendored_library, @xcconfig, target.sandbox.root)
      end
    end
  end
  # TODO Need to decide how we are going to ensure settings like these
  # are always excluded from the user's project.
  #
  # See https://github.com/CocoaPods/CocoaPods/issues/1216
  @xcconfig.attributes.delete('USE_HEADERMAP')
  @xcconfig
end

def initialize(target)

Parameters:
  • target (Target) -- @see target
def initialize(target)
  @target = target
end

def save_as(path)

Returns:
  • (void) -

Parameters:
  • path (Pathname) --
def save_as(path)
  generate.save_as(path)
end