class SwingSet::FrameworkProvider

Represents the “FrameworkProvider” Xcode project

Public Class Methods

new(path, platform, name = 'FrameworkProvider.xcodeproj') click to toggle source
# File lib/swingset/framework_provider.rb, line 7
def initialize(path, platform, name = 'FrameworkProvider.xcodeproj')
  @project, @copy_files = prepare_project(path, name, platform)
end

Public Instance Methods

add_framework(path) click to toggle source
# File lib/swingset/framework_provider.rb, line 11
def add_framework(path)
  file_ref = @project.new_file(File.expand_path(path))
  @copy_files.add_file_reference(file_ref)
end
path() click to toggle source
# File lib/swingset/framework_provider.rb, line 20
def path
  @project.path
end
write() click to toggle source
# File lib/swingset/framework_provider.rb, line 16
def write
  @project.save
end

Private Instance Methods

create_copy_files(target) click to toggle source
# File lib/swingset/framework_provider.rb, line 43
def create_copy_files(target)
  copy_files = target.new_copy_files_build_phase
  copy_files.symbol_dst_subfolder_spec = :products_directory
  copy_files
end
create_target(project, platform) click to toggle source
# File lib/swingset/framework_provider.rb, line 34
def create_target(project, platform)
  target = project.new(Xcodeproj::Project::Object::PBXAggregateTarget)
  target.name = 'FrameworkProvider'
  target.product_name = 'FrameworkProvider'
  target.build_configuration_list = Xcodeproj::Project::ProjectHelper
    .configuration_list(project, platform, nil, nil, :swift)
  target
end
prepare_project(path, name, platform) click to toggle source
# File lib/swingset/framework_provider.rb, line 26
def prepare_project(path, name, platform)
  project = Xcodeproj::Project.new(File.join(path, name))
  target = create_target(project, platform)
  project.targets << target
  copy_files = create_copy_files(target)
  [project, copy_files]
end