我在我的 Mac (Objective-C) 应用程序中使用 GCDAsyncSocket 类时遇到问题。这是我得到的错误:
Apple Mach-O Linker (Id) Error
Ld "/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/
Build/Products/Debug/Server Tester.app/Contents/MacOS/Server Tester" normal x86_64
cd "/Volumes/Data/Programming/ControlTouch/P12127/Server Tester"
setenv MACOSX_DEPLOYMENT_TARGET 10.8
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch
x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
MacOSX10.8.sdk -L/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-
fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug -L/Applications/Xcode.app/Contents/Developer/
Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/system -F/Users/matthewdahl/Library/
Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug -filelist
"/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/
Build/Intermediates/Server Tester.build/Debug/Server Tester.build/Objects-normal/x86_64/Server
Tester.LinkFileList" -mmacosx-version-min=10.8 -fobjc-arc -fobjc-link-runtime -framework Security -
framework Cocoa -o "/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-
fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug/Server Tester.app/Contents/MacOS/Server Tester"
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_GCDAsyncSocket", referenced from:
objc-class-ref in ServerTesterAppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我真的很难理解这里的问题。我尝试删除并重新添加 GCDAsyncSocket.h 和 .m 文件。我已经验证所有导入都是导入 .h 文件而不是 .m 文件。我已经清理了项目,甚至尝试从头开始制作一个新项目。对可能导致这种情况的任何洞察力都会很棒。(注意:我刚刚升级到山狮 - 不确定它是否是罪魁祸首)