module Xcodeproj::Project::ProjectHelper

def self.new_target(project, type, name, platform, deployment_target, product_group, language)

Returns:
  • (PBXNativeTarget) - the target.

Parameters:
  • language (Symbol) --
  • product_group (PBXGroup) --
  • deployment_target (String) --
  • platform (Symbol) --
  • name (String) --
  • type (Symbol) --
  • project (Project) --
def self.new_target(project, type, name, platform, deployment_target, product_group, language)
  # Target
  target = project.new(PBXNativeTarget)
  project.targets << target
  target.name = name
  target.product_name = name
  target.product_type = Constants::PRODUCT_TYPE_UTI[type]
  target.build_configuration_list = configuration_list(project, platform, deployment_target, type, language)
  # Product
  product = product_group.new_product_ref_for_target(name, type)
  target.product_reference = product
  # Build phases
  build_phases_for_target_type(type).each { |phase| target.build_phases << project.new(phase) }
  # Frameworks
  unless type == :static_library
    framework_name = (platform == :osx) ? 'Cocoa' : 'Foundation'
    target.add_system_framework(framework_name)
  end
  target
end