I am building a framework in which I need to import some objective-c frameworks for now I need to import "Beaconstac.framework" but as we can not add a bridging header in a swift framework project so my question is how can I use this framework in my project this is not directly accessible in my project I tried
import Beaconstac
but its giving error "No Such Module"
is there any alternative to do this?
You need to import the Beaconstac framework in your umbrella header. That is, if you'd ordinarily use, e.g., #import <Beaconstac/Beaconstac.h>
in an Obj-C bridging header, for a framework you need to put that in the umbrella header.
See this chapter in Apple's documentation for more info:
Steps to include an existing Obj C framework in a swift framework project
Say we are creating an “SwiftProj.framework" project in swift which internally has to use an Objective C “ObjC.framework”
- Place the ObjC.framework in Frameworks folder, Link to Swift framework project via Linked Frameworks and Libraries, and create a module.modulemap file at the same level.
- In module.modulemap
module ObjC{
header "ObjC.framework/Headers/ClassA.h"
export *
}
Create xcconfig file (File->New->iOS->Other->Configuration Settings file)
In xcconfig file
SWIFT_INCLUDE_PATHS = $(SRCROOT)/
MODULEMAP_PRIVATE_FILE = $(SRCROOT)/module.modulemap
Now you can access ObjC.ClassA in SwiftProj.framework
Create a file called module.modulemap
and include the following contents:
module ObjCFrameworkName {
header "ObjCFrameworkName.framework/Headers/ObjCFrameworkNameUmbrellaHeader.h"
export *
}
Be aware that you need to have the correct path to your Obj-C framework's umbrella header which may differ slightly with what's listed in the example above.
If you are still stuck, I would strongly suggest taking a look at this project.
来源:https://stackoverflow.com/questions/33797212/import-objective-c-framework-into-swift-framework-project