Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Apple Mach-O链接器错误项目库中存在重复符号_Ios_Debugging_Core Data_Linker Errors - Fatal编程技术网

Ios Apple Mach-O链接器错误项目库中存在重复符号

Ios Apple Mach-O链接器错误项目库中存在重复符号,ios,debugging,core-data,linker-errors,Ios,Debugging,Core Data,Linker Errors,我修改了我的CoreData数据集,并在一个无错误的iPhone应用程序中添加了几个新类。现在,当我尝试编译时,出现以下错误: Apple Mach-OP Linker Error Linker command failed with exit code 1 (use -v to see invocation) duplicate symbol _OBJC_METACLASS_$_SchoolRecords in: /Users/Yourself/Library/Developer/Xcode

我修改了我的CoreData数据集,并在一个无错误的iPhone应用程序中添加了几个新类。现在,当我尝试编译时,出现以下错误:

Apple Mach-OP Linker Error Linker command failed with exit code 1 (use -v to see invocation)

duplicate symbol _OBJC_METACLASS_$_SchoolRecords in:
/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolRecords.o

/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolDivisions+Create.o
duplicate symbol _OBJC_CLASS_$_SchoolRecords in:

Objects-normal/arm64/SchoolDivisions+Create.o
duplicate symbol _OBJC_CLASS_$_SchoolRecords in:
/Users/Yourself/Library/Developer/Xcode/DerivedData/.../YourProject.build/Debug-iphoneos/YourProject.build/Objects-normal/arm64/SchoolRecords.o
我查看了相应的文件夹arm64,但没有看到重复的文件。所以我有两个问题:

1) 我可以简单地删除这个文件夹层次结构并从头开始,看看这是否可以消除问题

2) 如何使用-v选项查看调用


提前感谢您的提示。

XCode使用一些.m文件两次(或更多次)使用相同的函数

  • 尝试项目清理
  • 尝试重新启动XCode
您是否已删除旧文件?如果有指向旧路径的文件夹,请查看“项目”->“目标”->“库搜索路径”


还可以查看“目标”->“构建阶段”->“编译源代码”,并检查是否有可能具有重复功能的文件。在另一个项目中,我注意到Xcode的autocomplete突然用.m而不是.h来填充导入语句。这在这个项目上发生过一次

将导入更改为.h并解决了问题


很多时间都花在简单的错误上。

好的,第一个问题的答案是“否”!我意识到这些是临时文件,所以我可以删除它们。这样做并清理了项目。仍然会得到相同的编译错误。有什么想法吗?试着清理和搜索学校记录的目标,以确定重复。没有找到任何。让我觉得我遗漏了一些东西的是调试器对SchoolRecords的引用。o,而不是.m或.h。o文件只是该方法的编译形式吗?是的,.o=object。现在很难帮上忙,你能帮我打开entiere项目并给我链接吗?谢谢你!,可惜苹果没有指定这种错误。