美文网首页
iOS 解决swift使用OC静态库找不到module

iOS 解决swift使用OC静态库找不到module

作者: 愛我你就抱抱我 | 来源:发表于2021-03-01 16:38 被阅读0次

    pod 生成 modulemap
    方式一:利用pod的preinstall:

    pre_install do |installer|
    #获取 Pods 下公开头文件目录
        headers_path = "#{Dir::pwd}/Pods/your framework path/Headers"
        modulemap_path = "#{Dir::pwd}/Pods/your modulemap path"
        generate_umbrella('your framework name', headers_path)
       generate_modulemap('your framework name', modulemap_path)
    end
    

    生成modulemap

    def generate_modulemap(name, path)
      #Dir.rmdir("#{path}/Modules")
      Dir.mkdir("#{path}/Modules") unless File.exists?("#{path}/Modules")
      f = File.new(File.join("#{path}/Modules/module.modulemap"), "w+")
      module_name = "#{name}"
      while(module_name["+"])
        module_name["+"] = "_"
      end
      f.puts("framework module #{module_name} {")
      f.puts("    umbrella header \"#{name}_umbrella.h\"")
      f.puts("    export *")
      f.puts("}")
    end
    

    生成umbrella.h

    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
    

    相关文章

      网友评论

          本文标题:iOS 解决swift使用OC静态库找不到module

          本文链接:https://www.haomeiwen.com/subject/kppafltx.html