iOS调用FrameWork报错

释放双眼,带上耳机,听听看~!

在开发过程中,添加framework后,调用framework方法出现 “selector not recognized” ,查看了日志,是framework里面使用category,原因是ObjectiveC不会为每一个objc函数生成链接符号,而是会为每一个类生成链接符号。通过category对一个已有的类进行扩展,那么链接器就不知道如何把原代码与category的代码实现关联起来,导致生成的对象无法响应属于category的消息。
解决方法: build settings中的Other Linker Flags添加-Objc选项。这个选项会促使链接器加载库中所有定义了Class和Category的文件。但这些额外的代码会使目标文件变大。但在64位和iOS应用程序中,linker有一个bug,这个bug会导致objc选项无效,无法从静态库中加载只定义了Category的文件 ,这就需要添加-all_load或-force_load选项

人已赞赏
iOS文章

iOS开发Missing Marketing Icon

2020-3-24 15:04:45

iOS文章

iOS MVVM+RAC

2020-3-24 15:44:50

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索