Reputation:
I've been wrestling with this specific issue for a while now. Basically I've added a framework BigNerdRanch CoreDataStack using Carthage.
But I've been having issues of using the said framework on my Objective-C codes. My project is an Objective-C project in which I recently added Swift codes and Swift frameworks.
So far I've been able to use Swift frameworks in my Swift codes with no problems. But once I started using the said Swift frameworks on my old Obj-C, specifically AppDelegate.m, I keep getting compiler error no matter what.
From what I understand I have to import it like this:
#import <CoreDataStack/CoreDataStack-Swift.h>
In which I did on AppDelegate.m.
I also have the following setup on my project:
Project Target Setup:
Build Settings for Swift Compilation:
I've been seeing some answers in StackOverflow to add public to the classes. But I'm unable to do so since the imported Frameworks are self-contained and only contains Headers for me to see in the XCode project.
Thanks for the help guys.
Upvotes: 1
Views: 5179
Reputation: 3219
You added a framework written in swift, if they don't enable support for Objective C
, you can't use it in your objective c code.
However, you can create a class in swift, which will be used as a mediator between the framework and your ObjC classes.
@objc class coreDataStackConvertor: NSObject {
func createStack(arg: Type) {
// Code which uses the real CoreDataStack
}
}
From you objective c classes, you can use the methods in the convertor class.
Upvotes: 6