Class: ProjectService

Inherits:
Object
  • Object
show all
Defined in:
lib/spinjector/project_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ ProjectService

Returns a new instance of ProjectService.

Parameters:

  • project (Xcodeproj::Project)


15
16
17
# File 'lib/spinjector/project_service.rb', line 15

def initialize(project)
    @project = project
end

Instance Method Details

#add_scripts_in_targets(configuration) ⇒ Object

Parameters:

  • configuration (Configuration)

    containing all scripts to add in each target



35
36
37
38
39
40
# File 'lib/spinjector/project_service.rb', line 35

def add_scripts_in_targets(configuration)
    configuration.targets.each do |target|
        xcode_target = app_target(target.name)
        add_scripts_in_target(target.scripts, xcode_target)
    end
end

#remove_all_scriptsObject

Remove all script phases prefixed by BUILD_PHASE_PREFIX from project



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/spinjector/project_service.rb', line 21

def remove_all_scripts
    @project.targets.each do |target|
        # Delete script phases no longer present in the target.
        native_target_script_phases = target.shell_script_build_phases.select do |bp|
            !bp.name.nil? && bp.name.start_with?(BUILD_PHASE_PREFIX)
        end
        native_target_script_phases.each do |script_phase|
            target.build_phases.delete(script_phase)
        end
    end
end