Class: PodTool
- Inherits:
-
Object
- Object
- PodTool
- Defined in:
- lib/pod_tool.rb
Overview
tool of pod
Class Method Summary collapse
-
.output_json(path) ⇒ Object
parse Cocoapods Podfile to json.
- .remove_phase(project_path, target_to_remove, p_toremove) ⇒ Object
-
.remove_target(project_path, target_to_remove) ⇒ Object
remove a target of project Arguments: project_path:(project_path) target_to_remove:(target_to_remove) Example4: >> PodfileTool.removeTarget(args, args) => puts “#targettarget.name did remove from project!!”.
-
.remove_target_frame_search_path(project_path, target_to_remove, frame_search_path) ⇒ Object
remove a target frame_search_path of project Arguments: project_path:(project_path) target_to_remove:(target_to_remove) frame_search_path:(frame_search_path) Example4: >> PodfileTool.removeTargetFrameSearchPath(args, args, args) => puts search_paths.
- .share_all_pod_scheme(pods_project_path) ⇒ Object
-
.share_pod_scheme(pods_project_path, pod_name) ⇒ Object
share pod project scheme,Share a User Scheme.
- .unescape(to) ⇒ Object
Class Method Details
.output_json(path) ⇒ Object
parse Cocoapods Podfile to json
Example:
>> PodfileTool.outputJson("/path_of_Podfile")
=> {json}
Arguments:
path: (path_of_Podfile)
output to file name Podfile.json Example2:
>> PodfileTool.outputJsonFile("/path_of_Podfile")
=> {json}
Arguments:
path: (path_of_Podfile)
23 24 25 26 27 28 29 30 31 |
# File 'lib/pod_tool.rb', line 23 def self.output_json(path) if File.file?(path) podfile_hash = Pod::Podfile.from_file(path).to_hash podfile_json = JSON.pretty_generate(podfile_hash) puts podfile_json else puts 'need Podfile Path!!!' end end |
.remove_phase(project_path, target_to_remove, p_toremove) ⇒ Object
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/pod_tool.rb', line 113 def self.remove_phase(project_path, target_to_remove, p_toremove) project = Xcodeproj::Project.open(project_path) project.targets.each do |target| # puts target.name next unless target.name == target_to_remove # puts target.methods target.build_phases.each do |atarget| puts atarget.display_name if atarget.display_name == p_toremove atarget.remove_from_project project.save puts "#{target.name} #{p_toremove} did remove" end end end end |
.remove_target(project_path, target_to_remove) ⇒ Object
remove a target of project Arguments:
project_path:(project_path)
target_to_remove:(target_to_remove)
Example4: >> PodfileTool.removeTarget(args, args)
> puts “#targettarget.name did remove from project!!”
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/pod_tool.rb', line 75 def self.remove_target(project_path, target_to_remove) project = Xcodeproj::Project.open(project_path) project.targets.each do |target| if target.name == target_to_remove target.remove_from_project puts "#{target.name} did remove from project!!" end end project.save end |
.remove_target_frame_search_path(project_path, target_to_remove, frame_search_path) ⇒ Object
remove a target frame_search_path of project Arguments:
project_path:(project_path)
target_to_remove:(target_to_remove)
frame_search_path:(frame_search_path)
Example4: >> PodfileTool.removeTargetFrameSearchPath(args, args, args)
> puts search_paths
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/pod_tool.rb', line 97 def self.remove_target_frame_search_path(project_path, target_to_remove, frame_search_path) project = Xcodeproj::Project.open(project_path) project.targets.each do |target| next unless target.name == target_to_remove puts target.name target.build_configurations.each do |configuration| search_paths = configuration.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= '$(inherited)' if search_paths.is_a? Array search_paths.delete_if { |e| e == frame_search_path } end puts "FRAMEWORK_SEARCH_PATHS:#{search_paths}" end end project.save end |
.share_all_pod_scheme(pods_project_path) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/pod_tool.rb', line 51 def self.share_all_pod_scheme(pods_project_path) project = Xcodeproj::Project.open(pods_project_path) project.targets.each do |e| begin Xcodeproj::XCScheme.share_scheme(project.path, e.name) puts "Success share #{e.name}" rescue => err puts "Fail share #{e.name}" puts err end end project.save end |
.share_pod_scheme(pods_project_path, pod_name) ⇒ Object
share pod project scheme,Share a User Scheme. Basically this method move the xcscheme file from the xcuserdata folder to xcshareddata folder. Arguments:
pods_project_path:(pods_project_path)
Example3: >> PodfileTool.sharePodScheme(“/path_of_Pod_project”)
> “Success share #pod_name”
42 43 44 45 46 47 48 49 |
# File 'lib/pod_tool.rb', line 42 def self.share_pod_scheme(pods_project_path, pod_name) project = Xcodeproj::Project.open(pods_project_path) schemes = Xcodeproj::Project.schemes(pods_project_path) unless schemes.include? pod_name Xcodeproj::XCScheme.share_scheme(project.path, pod_name) end puts "Success share #{pod_name}" end |
.unescape(to) ⇒ Object
130 131 132 |
# File 'lib/pod_tool.rb', line 130 def self.unescape(to) puts URI.unescape(to) end |