我会尝试解释我的问题。
我正在创建两个libs home.a& room.a独立。从home lib我调用了我在room.a中实现的功能。
我想在一个项目中使用这两个libs,情况是我想保留room.a作为可选项。如果我不在项目中添加room.a,我就无法构建项目。
错误是:
Undefined symbols for architecture
"_RoomViewController", referenced from:
-[ParentViewController openView:] in home.a
此处RoomViewController
来自room.a& amp; ParentViewController
来自home.a
我想在代码home.a中添加条件以检查RoomViewController
是否存在然后创建RoomViewController
的对象。
请建议我这样做的方法。 提前谢谢。
答案 0 :(得分:1)
如果您希望项目编译没有错误,则需要添加一个声明RoomViewController类的头文件。例如,写一个RoomViewController + Private.h文件。
@interface RoomViewController: UIViewController
@end
@interface RoomViewController()
//List of methods you want to use
- (void)methodA;
- (void)methodB;
@end
要检查您是否在运行时链接了库room.a,您需要执行以下操作:
if ([RoomViewController class]) {
// class exists
RoomViewController *instance = [[RoomViewController alloc] init];
} else {
// class doesn't exist
}