我的项目有一个名为“Reachability.h”的文件(它非常受欢迎,很多人都使用它)
今天我在其项目中添加了其他人的框架。 我认为frameword具有相同的文件“Reachability.h”。
所以存在冲突。
是因为C中没有命名空间吗? 如何避免这个问题?
这是日志:
ld: duplicate symbol _OBJC_IVAR_$_Reachability.reachabilityRef in /Volumes/Data/Project/ios/FreeMaster/FreeMaster/src/ThirdParty/Lmmob/LmmobAdWallSDK.framework/LmmobAdWallSDK(Reachability.o) and /Users/lxp/Library/Developer/Xcode/DerivedData/FreeMaster-hdzirfpzangiuqaavvqkrzlccrku/Build/Intermediates/FreeMaster.build/Debug-iphonesimulator/FreeMaster.build/Objects-normal/i386/Reachability.o for architecture i386
非常感谢
答案 0 :(得分:1)
在项目中维护可达性文件(.h,.m)的单一副本。删除多余的文件。这将解决问题。
如果您想维护一个额外的副本,您可以创建一个新组并将可达性文件移动到该文件夹中,如下面的屏幕截图所示:
在我的查找器中,我的文件放置如下:
答案 1 :(得分:1)
在objective-c中没有nameapce或package类型的东西。
通常,如果您与库中的同一个班级,则可以删除您的班级。在您的代码中使用可达性的地方导入<yourFramework/Reachability.h>
。