在公司项目中遇到一个需求,集成一个第三方的
framework,这是一个用Swift写的,而且没有考虑过OC项目集成。所以没有办法直接用桥接的方式调用framework里的API。这里记录一下子的的解决方法和一些坑。
1. 集成framework
将framework拖进项目中,按下图设置。

1.png

1.png
2. 创建桥接文件
2.1 新建一个继承NSObject的类

3.png
2.2 xcode会提示你创建桥接文件。

4.png

5.png
2.3 一般来说你已经可以在OC中调用Swift的类了。

6.png
#import <TESTDEMO-Swift.h>可能Xcode可能会报错,可以直接运行,如果还是报错,看一下这个地方是否设置了

7.png
如果没有值,填入合适的名称就可以了。
3. 集成遇到的坑
-
framework没有做OC的兼容,所以需要用到的地方全部用Swift实现,然后调用自己写的Swift类。 - 不知道什么原因,编译的时候
Swift的蓝牙的协议报错,所以用OC类封装了OC的蓝牙功能,然后在Swift里面调用OC类。