2019-09-04 OC项目中用cocoapods导入Swift第三方库(踩坑)

网上看了很多文章,但是除了基本配置外,其他的一律没解决我的问题,经过一天的摸索,终于在下班时分摸索成功了。下面给大家说一下我踩的坑以及最后成功的方法。

cocoapods配置

咱们先从cocoapods说起。因为 Apple 不允许开发者构建内含 Swift 代码的静态库,所以要往 OC 项目中集成第三方 Swift 代码的时候就只能通过动态框架( framework )的形式了。而 CocoaPods 还不能很好地将 framework 和静态库混编到一起,所以要么不用 framework,要用就要全部用上。关于这一点,CocoaPods 官博上的原话是这样说的:

This is an all or nothing approach per integrated targets, because we can’t ensure to properly build frameworks, whose transitive dependencies are static libraries.

所以,到这里汇集成一句话:Podfile文件中用 “use_frameworks!”。

Xcode配置

设置混编

混编

当项目中没有.swift文件时,需创建一个.swift文件。第一次创建"Test.swift"文件时,会弹窗提示你是否需要自动生成一个桥接文件,这个时候你要毫不犹豫的点是!


但是如果假如你点了否,没关系,稍微再多花点时间而已:

1.手动创建一个头文件,名字叫Your_Product_Name-Bridging-Header.h。

2.确保你的项目目录下至少有一个 .swift 文件。

3.确保在Targets的 Build Settings 里,Product Module Name是有值的。(如果没有,直接设置为$(PRODUCT_NAME)就可以了)

还有一点需要注意,您的swift language version要和导入的第三方库相匹配。


swift language version

下面代码中就是我踩的坑了。

代码配置

按照网上的资料,我就直接在要使用第三方库的地方直接导入“项目名-swift.h”文件并使用了库中其方法,结果报错了,not find func...此刻的我毫不慌张,我把报错在网上一搜,结果懵逼了,搜不到!然后我还是毫不慌张,整整用了一下午的时间这试一下,那试一下,最后还真让我给鼓捣成功了!具体方法如下:

在bridge文件中导入需要引用的第三方库

导入三方库

在需要用到三方库的地方导入“项目名-swift.h”文件以及桥接文件

两个文件都要导入哦

最终大功告成!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 晴星期一 今天中午去接上二宝,看到她心情不好,没等我问她为什么不高兴,她小声的对我说,数学考试因为粗心错了一道题。...
    倾月萱萱_0bd6阅读 1,067评论 0 1
  • 美食分享 1.素食馆有几家,妙香素食,和彼岸素食.离教室2分钟.还有索南藏素!消防楼91号,导航一下位置吧!45/...
    洁芸1313阅读 2,828评论 0 0
  • 网络与新媒体专业是最近比较火的一个专业,与这个专业刚开设时相比,近几年不仅开设此专业的院校逐渐增加,填报此专业志愿...
    酒酿笙笙阅读 4,373评论 0 1
  • 战争要很多国家要许多了孩子正饱尝战争的苦难。 我给饱尝战争苦难的外国小朋友,他们说谢谢你!给的文具!!我说不用谢了
    白紫玉阅读 1,657评论 0 0
  • 燥热的暑假……
    嘉果阅读 1,517评论 0 2

友情链接更多精彩内容