前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS OC调用Swift

iOS OC调用Swift

原创
作者头像
zqh
修改2021-10-29 15:06:10
2.4K0
修改2021-10-29 15:06:10
举报
文章被收录于专栏:zqhzqhzqh

前提

目前TRTC官网上提供的一些场景化demo(比如TUIMeeting

)是用的swift写的,下面以OC项目中集成TUIMeeting这个组件为例简单介绍下OC

调用swift

正文

1、集成TUIMeeting组件直接参考TRTC官网文档https://cloud.tencent.com/document/product/647/45681

2、添加swift 文件,只要是混编无论是在oc项目中添加swift文件,还是swift项目中添加oc文件,会提示添加一个桥文件 名字为XXX-Bridging-Header.h

创建swift文件
创建swift文件
首次创建swift文件Xcode自动生成的,点击创建
首次创建swift文件Xcode自动生成的,点击创建

3、Target-> Bulid Settings ->输入packa 设置Defines Module 为Yes

4、设置圆框内 为当前工程名

5、在你要调swift文件的oc类中导入“项目名-Swift.h”文件,command+鼠标点击看是否能进到文件中

6、进不去“项目名-Swift.h”文件就自己创建一个以”项目名-Swift.h”文件

7、回到第5步进到“项目名-Swift.h”文件,你很可能进到下面这个里面

8、删除本地自己创建的“项目名-Swift.h”文件,再重复第5步进来就能看的你需要的“项目名-Swift.h”文件了

然后就可以在OC类中导入“项目名-Swift.h”文件调swift文件了

最后

因为是以TUIMeeting为例,直接用pod集成的TUIMeeting组件中有些类如TRTCMeetingMainViewController、TRTCMeetingMemberViewController引用不到;跟到错误中看到有一个TUIMeeting-Swift.h文件,

TUIMeeting-Swift.h里面发现没有TRTCMeetingMainViewController、TRTCMeetingMemberViewController转成OC的部分

TUIMeeting-Swift.h
TUIMeeting-Swift.h

上面这种情况我了解到TUIMeeting组件设计的思路是尽可能少的对外暴露接口 所以只对外暴露了一个TRTCMeetingNewViewController 这个类,通过初始化这个类之后,用户不需要操心里面具体的实现业务的,所以没有对外暴露上面提到的TRTCMeetingMemberViewController和TRTCMeetingMainViewController,如果需要高度自定义的话,建议用户拿到源码后可以根据自身业务需求修改TRTCMeetingMemberViewController和TRTCMeetingMainViewController类。

现在文档已标清哪些是私有类https://cloud.tencent.com/document/product/647/45681

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档