Ios 库的Xcode框架包装器(公开库头)

Ios 库的Xcode框架包装器(公开库头),ios,objective-c,xcode,static-libraries,Ios,Objective C,Xcode,Static Libraries,我正在围绕一个静态库创建一个框架包装器。头文件(MyLibrary.h)需要可以从MyProject中的ViewController.m文件访问 MyProject MyFramework MyLibrary.h libMyLibrary.a 我已将我的library.h设置为公共图书馆 MyFramework.h包含行#import “嵌入式二进制文件”设置为MyFramework 当我运行上面的代码时,我得到 架构x86_64的未定

我正在围绕一个静态库创建一个框架包装器。头文件(MyLibrary.h)需要可以从MyProject中的ViewController.m文件访问

MyProject
    MyFramework
            MyLibrary.h
            libMyLibrary.a
我已将我的library.h设置为公共图书馆

MyFramework.h包含行
#import

“嵌入式二进制文件”设置为MyFramework

当我运行上面的代码时,我得到

架构x86_64的未定义符号: “_OBJC_CLASS_$_MyLibrary”,引用自: ViewController.o中的objc类引用 ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我发现解决这个问题的唯一方法是在MyFramework中创建一个私有类(称为TestClass)并分配MyLibrary。我假设这会强制我的库在运行时链接,并且可以从ViewController访问。 但这太难看了,我错过了什么

#import "ViewController.h"
@import MyFramework;

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [[[MyLibrary alloc]init]test];
}

我通过将-ObjC添加到其他链接器标志来解决这个问题。我通过将-ObjC添加到其他链接器标志来解决这个问题。您需要添加
#导入“MyFramework.h”
,而不是在
ViewController.m
类中添加
@import
。谢谢,刚刚尝试过,我仍然收到相同的错误。您需要添加
#导入“MyFramework.h”
而不是
ViewController.m
类中的
@import
。谢谢,刚刚尝试过,我仍然收到相同的错误。
#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