在 React Native 模块中将 Swift 类导入 Obj-C

Posted

技术标签:

【中文标题】在 React Native 模块中将 Swift 类导入 Obj-C【英文标题】:Importing Swift Class into Obj-C in React Native module 【发布时间】:2021-07-29 21:58:07 【问题描述】:

我正在为 react native 模块 (https://github.com/blackuy/react-native-twilio-video-webrtc) 开发一个新功能,它是用 Objective-C 开发的,我需要导入一个新的 Swift 类。

到目前为止我做了什么:

    使用包名导入,在本例中为#import <RNTwilioVideoWebRTC/RNTwilioVideoWebRTC-Swift.h> 确保预编译桥接头设置为是 将Objective-C Generated Interface Header Name设置为RNTwilioVideoWebRTC-Swift.h

问题是我尝试在模块内运行示例应用程序,它提示错误RNTwilioVideoWebRTC/RNTwilioVideoWebRTC-Swift.h file not found

我错过了什么?谢谢!

【问题讨论】:

类及其函数是否用@objc注解? 是的,我已经尝试过 @objc@objcMember 【参考方案1】:

有几件事要确保:

    检查桥接文件是否在您的项目中可用。如果可用,请确保您已在网桥文件中导入 YourProductName-Swift.h。如果没有,请创建一个桥接文件。 用@objc 标记类和方法,以便在您的Objective C 代码中访问它们。

您可以关注此answer 以供参考。

【讨论】:

以上是关于在 React Native 模块中将 Swift 类导入 Obj-C的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift iOS 中使用非 UI react-native 模块

如何在 react-native 中将 JPG 图像转换为 PNG

如何在 React Native 中将事件从 iOS 发送到 javascript

如何在 ObjectC 中为 React Native 桥接 Swift View

React Native Native Module - 将 JSON 属性传递给 Swift UIView

React Native:模块RCTLog不是注册的可调用模块(调用logIfNoNativeHook)