微信号:PiasyDev

介绍:也许,回归本源,和团队一起,解决问题,又快又好,才是最重要的. NEVER STOP Piasy

What does the -ObjC linker flag do

2018-06-14 15:37 Piasy 是也

今天学()到了一个 iOS 小知(坑):如果静态库里定 Category,那使用个静态库 App 工程里,OtherLinker Flags 需要加上 -ObjC 个参数,否 Category 的方法会找不到。

 

此事起于 WebRTC iOS 态库的使用,运行时报错 '+[UIDevice deviceType]: unrecognized selector sent toclass 0x1b47d8c60'

 

起先我没有尝试求助 Google,而是自己在琢磨,但无果。而 Google 很快了我答案。所以遇到问题,先 Google 一下也没什么失,不定就有答案呢 :)

 

参考:

 

webrtc iOS native : +[UIDevice deviceType]: unrecognized selector sent toclass 0x3aa4b420

It turned out that this issue was caused by ldfalg "-force_load"option in my application. Changed it to "-ObjC" and it is workingfine now. Please refer to below for more information.

https://groups.google.com/d/msg/discuss-webrtc/G64eXgQh7Xs/eUMhSB8aCgAJ

 

+[UIDevice deviceType]: unrecognized selector sent to class 0x1a01696a8

webrtc 使用了category 如果需要加载进需要告 other linker flags参数 -ObjC 或者-all_load

https://github.com/RTCat/rtcat_ios_demo3/issues/1

 

What does the -ObjC linker flag do?

This flag causes the linker to load every object file in the library thatdefines an Objective-C class or category. While this option will typicallyresult in a larger executable (due to additional object code loaded into theapplication), it will allow the successful creation of effective Objective-Cstatic libraries that contain categories on existing classes.

https://stackoverflow.com/a/6630019/3077508

 

本来打算文字消息的,但是超过长度限制了,无奈之下只能发图文消息,但既然文消息,那就申明原咯,正好体一下回 iOS (猜猜会不会有人打

 

但是申明原又需要更的文字,那就在最后多啰嗦几句咯。

 

篇推送自手机订阅号助手,度不创总是提示系繁忙也是有点醉。

 

好了我估也差不多最近在做的事情是把 AudioMixer 目的 iOS 版本上,预计本周能把 macOS 版本也上,大家敬期待。

 

接我就不加了,反正微信里也不能 star,真粉就去 GitHub 关注吧 :)


还是不够?不是三百字就可以了么,换成浏览器发试试吧……


最后发现是手机上没法选择赞赏账户 :(


 
Piasy 更多文章 分享图片 分享图片 WebRTC技术大会将于5月19日在上海举行 Flutter 初体验:WebRTC DataChannel P2P Chat 移动客户端跨平台开发方案探索
猜您喜欢 APMCon 2017 | 换个角度看技术,微信、支付宝、滴滴技术大咖等你来! 测试开发之python学习-第28讲:文件操作一 Titan XP值不值?一文教你如何挑选深度学习GPU 开源软件的崛起会改善软件安全吗 杰克∙豪雅时间博物馆巡展