如何在swift中导入Objective c文件

Posted

技术标签:

【中文标题】如何在swift中导入Objective c文件【英文标题】:How to Import the Objective c file in the swift 【发布时间】:2019-07-09 15:02:26 【问题描述】:

您好,我正在开发 react native 项目,我使用 How to convert ios react native template to swift? 线程从目标 c 转换为 swift。

现在我想用这个https://github.com/wonday/react-native-orientation-locker 来集成这个库我需要导入方向类但是当我导入方向类时我得到错误

这是我的项目层次结构

所以我的问题是如何在 swift 项目中导入目标 c 文件,或者如何在桥接头文件中导入第三方库

当我以这种方式导入时

#import "Orientation/Orientation.h"

我收到以下错误

❌ 错误:未能发出预编译头 '/Users/softech/Desktop/vsts-agent-osx-x64-2.136.1/_work/r2/a/Application/ios/build/VidizmoMobileApp/Build/Intermediates.noindex /PrecompiledHeaders/VidizmoMobileApp-Bridging-Header-swift_G3EOBN6WTSYG-clang_3DYYERZEW34TU.pch' 用于桥接头 /Users/softech/Desktop/vsts-agent-osx-x64-2.136.1/_work/r2/a/Application/ios/VidizmoMobileApp-Bridging -Header.h

错误无法构建 iOS 项目。我们运行了“xcodebuild”命令,但它以错误代码 65 退出。要进一步调试构建日志,请考虑使用 Xcode.app 构建您的应用程序,方法是打开 VidizmoMobileApp.xcworkspace

【问题讨论】:

@matt 当我导入这个时我收到错误 Orienation.h not found @matt 我通过在 HeaderSearchPath 中添加第三方模块路径来修复它,如本指南第三步中所述facebook.github.io/react-native/docs/linking-libraries-ios 【参考方案1】:

回答我自己的问题, 如本指南第三步所述https://facebook.github.io/react-native/docs/linking-libraries-ios

我还需要在 HeaderSearchPath 数组中添加第三方模块,如图所示

【讨论】:

以上是关于如何在swift中导入Objective c文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Objective C 文件中导入 ViewController.swift

如何在 Objective-C 中导入 SKTUtils?

在 Objective-C(测试)代码中导入框架的 Swift 类

我可以使用桥接头在基于 Swift 的项目中导入 Objective-C++ 类吗?

在桥接头中导入头文件导致的 Swift 编译器错误

在桥接头中导入头文件导致的 Swift 编译器错误