Skip to content

Instantly share code, notes, and snippets.

@Limon-O-O
Created November 16, 2017 10:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Limon-O-O/9bf134f4a79caa50ddd8f031adf143f0 to your computer and use it in GitHub Desktop.
Save Limon-O-O/9bf134f4a79caa50ddd8f031adf143f0 to your computer and use it in GitHub Desktop.
Cocoapods Support Module
def generate_modulemap(name, path)
f = File.new(File.join("#{path}/module.modulemap"), "w+")
module_name = "#{name}"
while(module_name["+"])
module_name["+"] = "_"
end
f.puts("module XB#{module_name} {")
f.puts(" umbrella header \"#{name}_umbrella.h\"")
f.puts(" export *")
f.puts("}")
end
def generate_umbrella(name, path)
f = File.new(File.join("#{path}/#{name}_umbrella.h"), "w+")
f.puts("#import <Foundation/Foundation.h>")
Dir.foreach(path) do |filename|
if filename != "." and filename != ".."
f.puts("#import \"#{filename}\"")
end
end
end
post_install do |installer|
require "fileutils"
headers_path = "#{Dir::pwd}/Pods/Headers/Public/"
installer.pods_project.targets.each do |target|
target_header_path = "#{headers_path}#{target.product_name}"
if File.exist?(target_header_path)
filename = target.product_name
if filename != "." and filename != ".."
generate_umbrella(filename, target_header_path)
generate_modulemap(filename, target_header_path)
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment