[经验]Class MediaTransCoder is implemented in both One of the two will be used. Which one is undefined

App中既有一个库叫:libMediaPlayer.a(播放器库)。本次需求需要加另外一个MediaTransCoder.framework(视频转码库)。在控制台遇到这个提示:
Class MediaTransCoder is implemented in both 
/private/var/containers/Bundle/Application/7D09FAA4-C843-44D9-89ED-132F614B5F5D/FSVideo.app/Frameworks/MediaTransCoder.framework/MediaTransCoder (0x10675c6d0) and 
/var/containers/Bundle/Application/7D09FAA4-C843-44D9-89ED-132F614B5F5D/FSVideo.app/FSVideo (0x10301d7e0). 
One of the two will be used. Which one is undefined.

运行framework中的方法crash。奇怪的是有些方法crash了。有些方法调用却正常。
排查可能的问题:
1. 库不对(framework的demo可以运行,framework直接拷贝的)
2. 对象释放了,但又是单例(不存在释放)
3. 没在other link flag中添加Objc,(已确认添加)
4. 新建一个空工程集成MediaTransCoder.framework。是可以运行framework中的方法。
5. 听说从xcode4.2 开始已经不用在-fore_load 和-load_all了


可以断定是客户端的问题, 不是framework的问题。查了很久,最后还是根据控制台输出,找到了问题所在:
Class MediaTransCoder is implemented in both 
/private/var/containers/Bundle/Application/7D09FAA4-C843-44D9-89ED-132F614B5F5D/FSVideo.app/Frameworks/MediaTransCoder.framework/MediaTransCoder (0x10675c6d0) and 
/var/containers/Bundle/Application/7D09FAA4-C843-44D9-89ED-132F614B5F5D/FSVideo.app/FSVideo (0x10301d7e0). 
One of the two will be used. Which one is undefined.( 两者中的一个将被使用。哪一个是未定义的。这下我知道问题在哪儿


[原因]:

MediaTransCoder.framework中含有MediaTransCoder,另外一个库libMediaPlayer.a也含有MediaTransCoder

MediaTransCoder.framework和libMediaPlayer.a都是一个团队提供的,让他们解决了,去除重复的MediaTransCoder。

完事儿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值