def new_aggregate_target(name, target_dependencies = [], platform = nil, deployment_target = nil)
      ProjectHelper.new_aggregate_target(self, name, platform, deployment_target).tap do |aggregate_target|
        target_dependencies.each do |dep|
          aggregate_target.add_dependency(dep)
        end
      end
    end
def new_aggregate_target(name, target_dependencies = [], platform = nil, deployment_target = nil)
      ProjectHelper.new_aggregate_target(self, name, platform, deployment_target).tap do |aggregate_target|
        target_dependencies.each do |dep|
          aggregate_target.add_dependency(dep)
        end
      end
    end
Creates a new target and adds it to the project.

 The target is configured for the given platform and its file reference it
 is added to the {products_group}.

 The target is pre-populated with common build settings, and the
 appropriate Framework according to the platform is added to to its
 Frameworks phase.

 @param  [String] name
         the name of the target.

 @param  [Array<AbstractTarget>] target_dependencies
         targets, which should be added as dependencies.

 @param  [Symbol] platform
         the platform of the aggregate target. Can be `:ios` or `:osx`.

 @param  [String] deployment_target
         the deployment target for the platform.

 @return [PBXNativeTarget] the target.