iOS 关于集成友盟统计SDK 与 AlipaySDK UTDID库 发生冲突的解决办法

昨天,技术总监找到我和安卓负责人,希望我们在新的版本中加入友盟统计SDK ,引入APPTrack 功能。

由于公司的APP在我来之前已经有了友盟统计SDK,并集成了AlipaySDK,老久的友盟统计SDK 并不具备APPtrack功能,所以要更新到比较新的友盟统计SDK,因此我使用pod导入最新的友盟统计SDK。

相关代码替换之后,便已出现如下问题:

报错了:

ld: 34 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

一看到这个基本上就可以定位在一个比较小的范围了:文件冲突,或者重名;

仔细一看,所有部分都包含这两行中的部分信息:

/Users/YanYi/Desktop/BITUBIT/FengLeiPRJ/Pods/UMCSecurityPlugins/thirdparties/UTDID.framework/UTDID(UTDIDPersistentFile.o)
    /Users/YanYi/Desktop/BITUBIT/FengLeiPRJ/FengLei/ThirdPart/AliPay/AlipaySDK.framework/AlipaySDK

关键信息就是xxxx/UTDID.framework/UTDID(XXX)内容,好了,就是你了。

那么问题来了,两个库里面包含相同的另一个第三方库UTDID,还有这种操作?那好吧,我又不能拆分这两个SDK中相同的部分,那没办法,既然AlipaySDK 中含有与别人相同的部分,那这样一个使用很广泛的SDK,一定别人也碰到过这个问题,网上搜吧,果然,就有前车之鉴:https://blog.csdn.net/wangjunling888/article/details/54288599,虽然碰到的场景不同,但是问题是一样的,在此表示感谢,那么具体解决方案,非常简单,去蚂蚁金服下载不包含UTDID的SDK就解决了,这还是阿里官方提供的方法,简直不要太狗血。

扫描二维码关注公众号,回复: 650887 查看本文章

好了此问题告一段落,希望能给碰到类似问题的朋友们带来方便。

猜你喜欢

转载自my.oschina.net/u/3826319/blog/1797930