美文网首页Swift
swift pod 引入oc framework 的方法

swift pod 引入oc framework 的方法

作者: 第x个等于4乘x的阶乘 | 来源:发表于2020-09-01 16:02 被阅读0次

    1.当我们在swift工程中引入OC framework 时 可以通过创建Bridge来桥接OC文件 但是如果是pod swift库中引入的话则会找不到OC framework的类

    网上找了很多方法 总结有两个比较靠谱 感谢这位作者给我启发

    1. 新建module.map
    2. 针对framework 新建Aggregate 可以移步到这里看

    这些方法一定程度上可以满足需求 但是我这边是pod私有库package打包 无法针对framework新建Aggregate

    受到上面文章下面评论的启发 做了一个OC类来管理OC framework 然后通过swift桥接oc类 那么我们swift工程就能通过swift类来间接调用oc

    2.接下来模拟一套制作swift pod私有库同时调用oc framework库的流程

    1.新建一个oc framework (我选择pod制作framework, package打包 这样的好处是每个版本的framework都能保存 利于管理)

    1. 创建私有库
    What platform do you want to use?? [ iOS / macOS ]
     > ios
    
    What language do you want to use?? [ Swift / ObjC ]
     > objc
    
    Would you like to include a demo application with your library? [ Yes / No ]
     > yes
    
    Which testing frameworks will you use? [ Specta / Kiwi / None ]
     > none
    
    Would you like to do view based testing? [ Yes / No ]
     > no
    
    What is your class prefix?
     > GL
    

    然后在工程项目里面class添加代码 记得在Example目录下 pod install


    工程目录如下

    3.修改工程中.podspec文件

    #这里声明你需要公开的文件, 有几种声明方式,通配符也支持的,在这里我只暴露出来一个.h文件就好
      s.public_header_files = 'Pod/Classes/KSDAntiCrack/KSDHookMr.h'
      #这是通配符
      # s.public_header_files = 'Pod/Classes/**/*.h'
    

    4.准备工作做完 接下来准备着手上传代码到私有库

    pod lib lint GLOCAntiFrameworkManager.podspec --verbose --allow-warnings
    git tag
    git tag 0.1.0
    git push -u origin master
    pod package GLOCAntiFrameworkManager.podspec --force
    

    现在就已经打包完成了


    工程目录如下图所示

    5.接下来就将代码和framework提交到私有库

    pod repo push GLRepo GLOCAntiFrameworkManager.podspec --sources=http://47.111.149.69/shenguanlin/glrepo.git,https://github.com/CocoaPods/Specs.git  --allow-warnings --verbose
    
    GItLab 的目录

    3.制作swift私有库

    1.将oc 库中的framework拖进工程


    framework目录结构

    2.创建一个oc类来管理oc framework 然后创建一个swift来调用oc方法


    文件目录

    相关文章

      网友评论

        本文标题:swift pod 引入oc framework 的方法

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