Class: XcodeArchiveCache::Injection::PodsScriptFixer

Inherits:
Object
  • Object
show all
Includes:
Logs
Defined in:
lib/injection/pods_script_fixer.rb

Instance Method Summary collapse

Methods included from Logs

#debug, #error, #info, #set_log_level

Constructor Details

#initializePodsScriptFixer

Returns a new instance of PodsScriptFixer.



7
8
9
# File 'lib/injection/pods_script_fixer.rb', line 7

def initialize
  @build_settings_interpolator = XcodeArchiveCache::BuildSettings::StringInterpolator.new
end

Instance Method Details

#fix_embed_frameworks_script(target, graph, products_dir) ⇒ Object

Parameters:



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/injection/pods_script_fixer.rb', line 15

def fix_embed_frameworks_script(target, graph, products_dir)
  build_settings = graph.dependent_build_settings
  file_path = find_embed_frameworks_script(target, build_settings)
  return unless file_path

  info("fixing #{file_path}")
  script = File.read(file_path)
  graph.nodes.each do |node|
    relative_product_path = "#{node.native_target.display_name}/#{node.product_file_name}"
    script = script.gsub("${BUILT_PRODUCTS_DIR}/#{relative_product_path}", File.join(products_dir, relative_product_path))
  end

  File.open(file_path, "w") {|file| file.puts(script)}
end