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
链接器标志尝试 运行
Stack Overflow Answer
我已经检查过了,对我来说它在没有添加任何链接器标志的情况下工作正常。
唯一的错误可能是 + (void)joinConferenceWithName:(NSString *)name
内部发生了某些事情
在 joinConferenceWithName
中写入日志以打印出参数 name
并确保这是调用并且该方法内部出现问题。
+ (void)joinConferenceWithName:(NSString *)name
{
NSLog(@"the name is: %@", name);
}
最后,请确保您将最新修改的静态库添加到您的项目中。
您可以从 here
下载工作示例
我正在 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
链接器标志尝试 运行
Stack Overflow Answer
我已经检查过了,对我来说它在没有添加任何链接器标志的情况下工作正常。
唯一的错误可能是 + (void)joinConferenceWithName:(NSString *)name
在 joinConferenceWithName
中写入日志以打印出参数 name
并确保这是调用并且该方法内部出现问题。
+ (void)joinConferenceWithName:(NSString *)name
{
NSLog(@"the name is: %@", name);
}
最后,请确保您将最新修改的静态库添加到您的项目中。
您可以从 here
下载工作示例