OC Swift混编注意点

随着 Swift 的流行,各种神奇的库也开始有对应的 Swift 版本了,但是在导入的过程中需要有一些注意点。不然的话。他会报错,把你搞的很无奈。

第一步

首先在你的项目中任意创建一个 Swift 文件,这个文件是一个桥接文件

OC Swift混编注意点_第1张图片
nIVNZne.png!web.png

点击Create Bridge Header

然而如果手贱点了 Don’t create ,那以后不管你创建再多的 Swift 文件,它都不会问你了。不过,这当然是有手动操作的途径

1、手动创建一个头文件,名字叫 Your_Product_Module_Name-Bridging-Header.h ,注意不是 Project_Name 。
2、确保你的项目目录下至少有一个 Swift 文件。
3、确保在 Targets 的 Build Settings 里, Product Module Name 是有值的。(如果没有,直接设置为 $(PRODUCT_NAME) 就可以了)
4、将 Project 的 Build Settings 里的 Defines Modules 设置为 Yes 。(如果项目里没有创建过 Swift 文件的话,这个设置可能是不可见的)
配置完成!进入代码环节!

第二步

使用CocoaPods导入

在使用的使用,一定要加这句话

use_frameworks!
OC Swift混编注意点_第2张图片
2BDCB612-5D68-4A8E-9160-C3145393C423.png

这是告诉 CocoaPods:“请把我要用到的第三方库用动态框架的形式集成进来”。因为 Apple 不允许开发者构建内含 Swift 代码的静态库,所以要往 OC 项目中集成第三方 Swift 代码的时候就只能通过动态框架( framework )的形式了。

如果不添加,在使用终端导入的时候会报这个错误

OC Swift混编注意点_第3张图片
8E8B0B85-7598-4DA6-A30B-594332800344.png

[!] Pods written in Swift can only be integrated as frameworks; add use_frameworks! to your Podfile or target to opt into using it. The Swift Pods being used are: ReactiveCocoa, ReactiveSwift, and Result

手动导入

手动导入请参考这里

你可能感兴趣的:(OC Swift混编注意点)