OC项目中调用Swift文件

时间:2021-7-20 作者:qvyue

前言:最近公司有两个项目需要合并在一起,一个是OC开发,另一个是Swift开发。大致说一下流程:

1. buildSetting -> defines module 设置为 yes

OC项目中调用Swift文件

2.然后检查一下 buildSetting -> Product Module Name 是否为项目名称(一般都是)

3.创建桥接文件(OC项目中创建Swift文件时会自动提醒,如果当时没有创建可以手动创建)

  • 选择head file

    OC项目中调用Swift文件

    名称命名一般为:”项目名-bridging-Header.h”

  • 然后 buildSetting -> Objective-C Bridging Heading 点开,将创建的桥接文件拖过去就好了(此时地址为绝对地址,可以把地址前面的部分路径替换为 $(PROJECT_DIR),这样就是相对路径了)
  • 将Swift中需要引用的OC文件的头文件引入就好了

4在需要引用Swift文件的OC文件中,引用一个系统隐式创建的头文件。”项目名-Swift.h”

此时就能愉快地引用Swift文件了。

友情赠送:

  • 如果Swift文件中需要用到pods管理的库,需要把podfile中use_frameworks!注释打开。
  • 如果报 duplicate interface definition for class ‘xxxx’错误,但是经排查没有重复导入。那么你可以试试,将引入方式由 #import “xxx.h” 改为 #import

本篇文章暂时写这么多,后续踩到更多的坑,再来更新。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。