Swift_3.0_实战篇(2)_cocoaPods导入OC第三方

先吐槽一下,Swift 好多坑,不过反而更期待了。
1、Swift语言使用cocoapods配置Podfile文件时要加上use_frameworks!这句代码,作用是把三方库打包成静态库
2、swift调用oc的三方库
a、要建立一个桥接文件,然后在target——>build setting中搜索 (这里不多介绍,小白请谷歌)


图一

之后在桥接文件里面导入第三方OC的头文件 eg:


图二.png

如果此刻运行 或许会报错找不到该第三方的头文件

之后要设置一个User Header Search Paths,否则在需要用三方库的地方是调不出来的。在target——>Build Setting里找到search Paths,双击User Header Search Paths后面的空白处,设置目录路径为${SRCROOT} ,后边选择recursive。下图是我的,加不加“/Pods” 都可以

图三.png

之后是我遇到的坑
在 TARGETS 选择Build Phases ,找到 Link With Library
导入 第一个,(是我的第三方)


图四.png

但是并不是所有的第三方都需要在这里添加,说到这我们要说一下 在 Podfile 里面的添加的 use_frameworks!
用cocoapods 导入swift 框架 到 swift项目和OC项目都必须要 use_frameworks!
(1)如果在Podfile文件里不使用 use_frameworks! 则是会生成相应的 .a文件(静态链接库),通过 static libraries 这个方式来管理pod的代码。
(2)如果使用了use_frameworks! 则cocoapods 会生成相应的 .frameworks文件(动态链接库:实际内容为 Header + 动态链接库 + 资源文件)(3)Linked:Pods_xxx.framework包含了其它用pod导入的第三方框架的.framework文件。

如果 第三方有头文件,是以 .h .m 的形式出现在 Pods 目录下的 那么 在桥接头文件里面 #import " xxxxx/xxxxx.h ",其它swift文件中用到不需要再import;并且需要在Link With Library 里面添加 第三方名.framework 文件

如果只有头文件.h ,该第三方直接是以 .framework 文件 的形式出现在 Pods 目录下的 那么 则在每个需要用到的swift文件里 import 就可以了。

iOS 静态库,动态库与 Framework 浅析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子阅读 8,772评论 0 36
  • 思念是条蔓延的河流,漂流过海,漂流过京城,抵达边缘; 回忆是条吞咽的蟒蛇,爬行过往,爬行过青春,吞咽幻影, 我们只...
    糖小晚阅读 123评论 0 0
  • 听说太原被雾霾笼罩的暗无天日,民不聊生。尽管如此,我还是义无反顾的想回去。 说句实在话,雾、雾霾和阴天,我至今傻傻...
    保质期一天阅读 366评论 2 1
  • 小时候最喜欢的就是周六可以和家人一起出去吃饭、看电影、动物园、游乐园,各种娱乐,那时赚的钱不多,但很开心。没有...
    Inga_Sakura酱阅读 559评论 0 0