iOS "duplicate symbol"解决第三方库之间的冲突

本文介绍了在iOS开发中遇到'duplicate symbol'错误的常见原因,包括文件重复引入、Target设置问题和第三方库冲突。着重讨论了当使用两个静态库时如何解决这类冲突,通过查看库的CPU架构、分离静态库、删除冲突部分并合成新库的方法来解决问题。
摘要由CSDN通过智能技术生成

一、问题叙述

duplicate symbol(重复,相同的文件名)是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在。但是经过这种错误提示,会潜意识的反射出是文件重复了.
通常出现的情况:

1、工程文件,同一个类文件被引入了两次

引起这种错误的原因大概有两种:一是多人协作开发时,导致project文件合并冲突;二是同名文件不在同一目录下,添加到工程时造成重复添加。 这种一般在文件视图,用名字过滤器检查一下就发现了。

2、 Targets的Build Phase设置项里会出现重复

Targets的Build Phase设置项,查看Complie Sources这一项,看看出现问题的类是不是有重复的,如果重复,project文件冲突导致的。出现这种问题,只要删除就可以了。不过,在删除其中一个文件时,重复文件会自动全部删除,所以还需要重新添加一次

3、引入第三方库时与工程的文件重名冲突

如果我们的工程中引用了第三方的库或pod入第三方库时,而恰好第三方的库里面有一个,也会出现这种问题。如果不能修改第三方的库代码,也会出现这个错误,就需要解决。

小结
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值