Class: Pod::Installer::Xcode::MultiPodsProjectGenerator
- Inherits:
 - 
      PodsProjectGenerator
      
        
- Object
 - PodsProjectGenerator
 - Pod::Installer::Xcode::MultiPodsProjectGenerator
 
 
- Defined in:
 - lib/cocoapods/installer/xcode/multi_pods_project_generator.rb
 
Overview
The MultiPodsProjectGenerator handles generation of the ‘Pods/Pods.xcodeproj’ and Xcode projects for every PodTarget. All Pod Target projects are nested under the ‘Pods.xcodeproj’.
Instance Attribute Summary
Attributes inherited from PodsProjectGenerator
#aggregate_targets, #build_configurations, #config, #installation_options, #metadata_cache, #pod_targets, #project_object_version, #sandbox
Instance Method Summary collapse
- 
  
    
      #generate!  ⇒ PodsProjectGeneratorResult 
    
    
  
  
  
  
  
  
  
  
  
    
Generates ‘Pods/Pods.xcodeproj` and all pod target subprojects.
 
Methods inherited from PodsProjectGenerator
#configure_schemes, #initialize
Constructor Details
This class inherits a constructor from Pod::Installer::Xcode::PodsProjectGenerator
Instance Method Details
#generate! ⇒ PodsProjectGeneratorResult
Generates ‘Pods/Pods.xcodeproj` and all pod target subprojects.
      12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32  | 
    
      # File 'lib/cocoapods/installer/xcode/multi_pods_project_generator.rb', line 12 def generate! # Generate container Pods.xcodeproj. container_project = create_container_project(aggregate_targets, sandbox.project_path) project_paths_by_pod_targets = pod_targets.group_by do |pod_target| sandbox.pod_target_project_path(pod_target.project_name) end projects_by_pod_targets = Hash[project_paths_by_pod_targets.map do |project_path, pod_targets| project = create_pods_project(pod_targets, project_path, container_project) [project, pod_targets] end] # Note: We must call `install_file_references` on all pod targets before installing them. pod_target_installation_results = install_all_pod_targets(projects_by_pod_targets) aggregate_target_installation_results = install_aggregate_targets_into_project(container_project, aggregate_targets) target_installation_results = InstallationResults.new(pod_target_installation_results, aggregate_target_installation_results) integrate_targets(target_installation_results.pod_target_installation_results) wire_target_dependencies(target_installation_results) PodsProjectGeneratorResult.new(container_project, projects_by_pod_targets, target_installation_results) end  |