1、建立桥接文件
在已有的OC工程中新建一个Swift文件,命名为TestSwift.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”
2、配置工程
1.需要设置defines module为YES网的很多答案中都提到了这个一点,如果出现一些问题,可以尝试设置一下,具体位置(我暂时没有发现设置这个属性设置YES or NO的区别)
2.设置Product Module Name 为当前工程名 (系统会自动为我们设置好)
此时系统会为工程创建一个“工程名-Swift.h”的文件(不会显示出来,可以引用),此文件不可手动创建,必须使用系统创建的
3.提示swift版本过低
4.添加swift文件时并不主动提示创建桥接文件(一般比老一点的项目好像都会不提示),这个时候就需要手动创建桥接文件了(xxx-Bridging-Header.h)
*创建header file文件
*命名header file文件名 如果我的工程target名叫HMDemo,所以这里就创建HMDemo-Bridging-Header文件名
*设置HMDemo-Bridging-Header在项目中的路径 如图位置(路径根据桥接文件的实际位置来设置) 注意
3、测试是否成功
在TestSwift.swift写一个Swift的函数
【注意】在 Swift 文件中,若要规定固定的方法或属性暴露给 Objective-C 使用,可以在方法或属性前加上@objc来声明。如果类是继承NSObject,那么要在非 private 的方法或属性前加上@objc(据说swift3.0之前都是系统自动加上的!!!),现在要手动加!。也可以在swift类的前面加上@objcMembers这个关键字,这样可以让该类的所有属性和方法加上@objc。在使用的时候需要导入“工程名-Swift.h”
4.OC项目引入swift第三方库
1、Podfile中添加 use_frameworks!
2、swift第三方库指定swift版本
3、在.h或者.m文件使用swift库需要使用@import