lib/cocoapods/installer/analyzer.rb
def resolve_dependencies
        specs_by_target = nil

        UI.section "Resolving dependencies of #{UI.path podfile.defined_in_file}" do
          resolver = Resolver.new(sandbox, podfile, locked_dependencies)
          specs_by_target = resolver.resolve
        end

        specs_by_target.each do |target_definition, specs|
          lib = result.libraries.find { |l| l.target_definition == target_definition}
          lib.specs = specs
        end

        specs_by_target
      end
# Converts the Podfile in a list of specifications grouped by target.
#
# @note   In this step the specs are added to the libraries.
#
# @note   As some dependencies might have external sources the resolver
#         is aware of the {Sandbox} and interacts with it to download the
#         podspecs of the external sources. This is necessary because the
#         resolver needs their specifications to analyze their
#         dependencies.
#
# @note   The specifications of the external sources which are added,
#         modified or removed need to deleted from the sandbox before the
#         resolution process. Otherwise the resolver might use an
#         incorrect specification instead of pre-downloading it.
#
# @note   In update mode the resolver is set to always update the specs
#         from external sources.
#
# @return [Hash{TargetDefinition => Array<Spec>}] the specifications
#         grouped by target.
#
Converts the Podfile in a list of specifications grouped by target.
Converts the Podfile in a list of specifications grouped by target .
def resolve_dependencies
        specs_by_target = nil
        UI.section "Resolving dependencies of #{UI.path podfile.defined_in_file}" do
          resolver = Resolver.new(sandbox, podfile, locked_dependencies)
          specs_by_target = resolver.resolve
        end
        specs_by_target.each do |target_definition, specs|
          lib = result.libraries.find { |l| l.target_definition == target_definition}
          lib.specs = specs
        end
        specs_by_target
      end
def resolve_dependencies specs_by_target = nil UI . section "Resolving dependencies of #{UI.path podfile.defined_in_file}" do resolver = Resolver . new ( sandbox , podfile , locked_dependencies ) specs_by_target = resolver . resolve end specs_by_target . each do | target_definition , specs | lib = result . libraries . find { | l | l . target_definition == target_definition } lib . specs = specs end specs_by_target end
Converts the Podfile in a list of specifications grouped by target.
Converts the Podfile in a list of specifications grouped by target .
the specifications grouped by target.
the specifications grouped by target .
Hash{TargetDefinition => Array<Spec>}
note
In this step the specs are added to the libraries.
In this step the specs are added to the libraries .
note
As some dependencies might have external sources the resolver is aware of the {Sandbox} and interacts with it to download the podspecs of the external sources. This is necessary because the resolver needs their specifications to analyze their dependencies.
As some dependencies might have external sources the resolver is aware of the { Sandbox } and interacts with it to download the podspecs of the external sources . This is necessary because the resolver needs their specifications to analyze their dependencies .
note
The specifications of the external sources which are added, modified or removed need to deleted from the sandbox before the resolution process. Otherwise the resolver might use an incorrect specification instead of pre-downloading it.
The specifications of the external sources which are added modified or removed need to deleted from the sandbox before the resolution process . Otherwise the resolver might use an incorrect specification instead of pre - downloading it .
note
In update mode the resolver is set to always update the specs from external sources.
In update mode the resolver is set to always update the specs from external sources .