Xcode Framework wrapper for Library ( Exposing library headers)
Xcode Framework wrapper for Library ( Exposing library headers)
- Subject: Xcode Framework wrapper for Library ( Exposing library headers)
- From: Mr steve davis <email@hidden>
- Date: Mon, 06 Feb 2017 22:04:33 +0000
I would be so grateful if someone could help me, I have been banging my head a against a brick wall for days on this now.
Here’s a sample project if it helps… http://www.thingsidoatwork.co.uk/MyProject.zip <http://www.thingsidoatwork.co.uk/MyProject.zip>
I'm creating a Framework wrapper round a static library. The header (MyLibrary.h) needs to be accessable from the ViewController.m file in MyProject
MyProject
MyFramework
MyLibrary.h
libMyLibrary.a
#import "ViewController.h"
@import MyFramework;
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[[[MyLibrary alloc]init]test];
}
I have set MyLibrary.h to public
MyFramework.h contains the line #import <MyFramework/MyLibrary.h>
'Embedded Binaries' is set to MyFramework
When I run the above code I get...
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_MyLibrary", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The only way I have found to solve this problem is to create a private Class in MyFramework (called TestClass) and allocate MyLibrary. I assume this forces MyLibrary to be linked at runtime and accessable from ViewController.
But this is ugly as hell, what am I missing?
#import "TestClass.h"
#import "MyLibrary.h"
@implementation TestClass
- (id)init {
if (self = [super init]) {
[MyLibrary alloc]; //solves the problem of MyLibrary being accessable from ViewController
}
return self;
}
@end
Is there a compiler flag I’m missing that would help? I have tried all-load -ObjC etc but no luck.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden