iOS 静态库,无法访问某些 class 方法

iOS static library, cannot access some class methods

我正在 iOS 中构建一个静态库。在我的项目中导入该库后,我在其他链接器标志中添加了 -ObjC。但是当我调用 class 方法(目前有 3 个可用)时,其中 2 个被调用并正确执行,但最后一个出现此错误:"+[RankConferenceLib joinConferenceWithName:]: unrecognized selector sent to class 0x5044dc"

这是我的库头文件

@interface RankConferenceLib : NSObject


+(void)initEnvironment;
+(void)orientationChange;
+(void)joinConferenceWithName:(NSString *)name;
@end

在库的 .m 文件中

+ (void)joinConferenceWithName:(NSString *)name
{
       //....codes
}

在我的项目中,我称它们为

- (IBAction)join:(UIButton *)sender {
    [RankConferenceLib joinConferenceWithName:@"User"];
}

请告诉我这里缺少什么。这是我的第一个静态库。我已经搜索过但找不到任何与我在这里的情况相似的帮助。请提及您还需要了解的内容。

谢谢。

使用 -all_load 链接器标志尝试 运行

Apple Documentation

Stack Overflow Answer

我已经检查过了,对我来说它在没有添加任何链接器标志的情况下工作正常。

唯一的错误可能是 + (void)joinConferenceWithName:(NSString *)name

内部发生了某些事情

joinConferenceWithName 中写入日志以打印出参数 name 并确保这是调用并且该方法内部出现问题。

+ (void)joinConferenceWithName:(NSString *)name
{
    NSLog(@"the name is: %@", name);
}

最后,请确保您将最新修改的静态库添加到您的项目中。

您可以从 here

下载工作示例