链接器命令失败,退出代码为 1(重复符号)

Linker command failed with exit code 1 (duplicate symbol)

我在 Unity 中开发游戏,并且在其中使用了 Admob、Facebook 和 GameCenter。在我为应用内购买添加 OpenIAB 之前,它在 iOS 上运行良好,尽管它在 Unity 编辑器中运行良好。

我在 xcode 中收到此错误:

duplicate symbol __Z14MakeStringCopyPKc in: /Users/UmerAzeem/Library/Developer/Xcode/DerivedData/Unity-iPhone-ejwaywhkiokzjofdpwnbebkbleai/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/FBUnityUtility.o /Users/UmerAzeem/Library/Developer/Xcode/DerivedData/Unity-iPhone-ejwaywhkiokzjofdpwnbebkbleai/Build/Intermediates/Unity-iPhone.build/Debug-iphoneos/Unity-iPhone.build/Objects-normal/armv7/AppStoreDelegate.o ld: 1 duplicate symbol for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

See error screenshot here

我已经尝试了网上几乎所有的解决方案,但仍然不明白如何消除这个重复错误,我也尝试过寻找重复的文件,但也是徒劳,有人帮我解决这个问题,将不胜感激。 谢谢

在您的项目中查找:

MakeStringCopy

并确保它只存在一次(如果存在的话)。如果它出现不止一次,请重命名一个(确保在调用它的地方也重命名它)并尝试重新构建。

我最近遇到了同样的问题。我知道 Umer Azeem 得到了答案,但为了帮助可能遇到与我相同问题的其他人。
根据我的申请流程,我正在使用与打印机相关的第三方 class 进行打印。为了使用它,我在我的文件 ImagePrintViewControllerPrintResultViewController 中分别创建了那个 class 的对象,并将所需的数据传递给它。

在我的场景中,我的两个文件 /Library/Developer/Xcode/DerivedData/../x86_64/ImagePrintViewController.o 中的变量名称如 _printerSetup 出现了相同的错误 和 /Library/Developer/Xcode/DerivedData/../x86_64/PrintResultViewController.o
我在我的两个文件中都搜索了上述变量名。但是我没找到。

在搜索了很长时间之后,我想到 删除我的第二个文件的引用,即在我的第一个文件中合并代码后 BRPrintResultViewController.hBRPrintResultViewController.m

有了这个我找到了我的解决方案并且我的代码在这之后运行良好。