记录一个比较坑的问题,关于cocoapods和RN、xcconfig

本文讨论了在一个集成了React Native (RN)的项目中遇到的duplicated symbols问题,特别是由于第三方提供的framework中包含重复的iOS库(如mbprogresshud、masonry等)所引发的问题。文中提出了三种解决方案:根本解决、规避方案及暴力方案,并探讨了各自的优势与局限。

其实我遇到的问题和下面的链接很类似:

https://segmentfault.com/a/1190000005859469

我们的工程通过cocoapods集成了RN, pods的xcconfig里面集成了-ObjC命令;而我们通过inherited继承了这个命令;

有一个糟糕的第三方提供的framework里面有几个通用的iOS库(mbprogresshud、masonry、afnetworking),在加了这个命令以后就会触发duplicated symbols问题。

首选解决方案:那当然是从根本上解决问题,需要第三方修改它这个糟糕的framework了,可以改名或者通过外部集成来避免冲突;

次选的规避方案:自己的工程里面移除冲突的.m文件,这样一搞真机可以正常工作,但发现该framework没有提供这几个库的x86版本...,还是需要第三方修改其framework。

暴力方案:xcconfig里面移除-OjbC, 可能有副作用导致pods集成的一些库不能正常工作,需要经过测试,如果有问题应该还需要通过分别加上的-force_load xxx 来解决,慎之.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值