Class: Pod::Installer::Xcode::PodsProjectGenerator::AggregateTargetInstaller

Inherits:
TargetInstaller
  • Object
show all
Defined in:
lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb

Overview

Creates the targets which aggregate the Pods libraries in the Pods project and the relative support files.

Instance Attribute Summary collapse

Attributes inherited from TargetInstaller

#project, #sandbox

Instance Method Summary collapse

Methods inherited from TargetInstaller

#initialize

Methods included from TargetInstallerHelper

create_info_plist_file_with_sandbox, create_prefix_header, update_changed_file

Constructor Details

This class inherits a constructor from Pod::Installer::Xcode::PodsProjectGenerator::TargetInstaller

Instance Attribute Details

#targetAggregateTarget (readonly)

Returns @see TargetInstaller#target.

Returns:

  • @see TargetInstaller#target



11
12
13
# File 'lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb', line 11

def target
  @target
end

Instance Method Details

#install!TargetInstallationResult

Creates the target in the Pods project and the relative support files.

Returns:

  • the result of the installation of this target.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb', line 17

def install!
  UI.message "- Installing target `#{target.name}` #{target.platform}" do
    native_target = add_target
    create_support_files_dir
    create_support_files_group
    create_xcconfig_file(native_target)
    if target.build_as_framework?
      create_info_plist_file(target.info_plist_path, native_target, target.version, target.platform)
      create_module_map(native_target)
      create_umbrella_header(native_target)
    elsif target.uses_swift?
      create_module_map(native_target)
      create_umbrella_header(native_target)
    end
    # Because embedded targets live in their host target, CocoaPods
    # copies all of the embedded target's pod_targets to its host
    # targets. Having this script for the embedded target would
    # cause an App Store rejection because frameworks cannot be
    # embedded in embedded targets.
    #
    create_embed_frameworks_script if embed_frameworks_script_required?
    create_bridge_support_file(native_target)
    create_copy_resources_script if target.includes_resources?
    create_acknowledgements
    create_dummy_source(native_target)
    clean_support_files_temp_dir
    TargetInstallationResult.new(target, native_target)
  end
end