我正在构建一个框架,我需要在其中导入一些 objective-c 框架,现在我需要导入“Beaconstac.framework”,但由于我们无法在 swift 框架项目中添加桥接 header ,所以我的问题是如何才能我在我的项目中使用了这个框架,这在我试过的项目中不能直接访问
import Beaconstac
但它给出错误“没有这样的模块”
有没有其他方法可以做到这一点?
最佳答案
在 swift 框架项目中包含现有 Obj C 框架的步骤
假设我们正在 swift 中创建一个“SwiftProj.framework”项目,该项目内部必须使用 Objective C“ObjC.framework”
- 将 ObjC.framework 放在 Frameworks 文件夹中,通过 Linked Frameworks and Libraries 链接到 Swift 框架项目,并在同级创建一个 module.modulemap 文件。
- 在module.modulemap中
module ObjC{
header "ObjC.framework/Headers/ClassA.h"
export *
}
创建xcconfig文件(文件->新建->iOS->其他->配置设置文件)
在xcconfig文件中
SWIFT_INCLUDE_PATHS = $(SRCROOT)/
MODULEMAP_PRIVATE_FILE = $(SRCROOT)/module.modulemap
现在您可以在 SwiftProj.framework 中访问 ObjC.ClassA
关于objective-c - 将 Objective-c 框架导入 Swift 框架项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797212/