And*_*rew 5 iphone objective-c cocoaasyncsocket
我只是将所有CocoaAsyncSocket代码标记为非ARC代码,并且它给了我这3个错误:
Undefined symbols for architecture armv7:
"_kCFStreamNetworkServiceTypeVoIP", referenced from:
-[GCDAsyncSocket enableBackgroundingOnSocketWithCaveat:] in GCDAsyncSocket.o
"_kCFStreamNetworkServiceType", referenced from:
-[GCDAsyncSocket enableBackgroundingOnSocketWithCaveat:] in GCDAsyncSocket.o
"_kCFStreamPropertySSLSettings", referenced from:
-[GCDAsyncSocket maybeStartTLS] in GCDAsyncSocket.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
有谁知道这意味着什么以及如何解决它?
Dun*_*Cat 16
我想通过查看代码注释找到了解决方案,但我现在看到它也是Mark Adams在上面提出的建议.直到我在Targets-> Build Phases-> Link Binary With Libraries-> Select CFNetwork.framework下添加CFNetwork.framework之前我才有错误
这意味着您正在编译的某些代码正在引用常量“kCFStreamNetworkServiceTypeVoIP”、“kCFStreamNetworkServiceType”和“kCFStreamPropertySSLSettings”,但当它尝试将您的代码与其使用的库链接时找不到这些常量。
不幸的是,这可能有很多原因:
您可以使用“nm”来查看库二进制文件中导出的符号,并使用“otool -L”来检查二进制文件正在链接哪些库。