使用ASIHTTPRequest和SBJSON时iOS 5.1出错

Vac*_*cca 6 objective-c asihttprequest libz sbjson

我收到此错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_ASIHTTPRequest", referenced from:
      objc-class-ref in FirstViewController.o
  "_OBJC_CLASS_$_SBJsonParser", referenced from:
      objc-class-ref in FirstViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

注意我添加了框架核心图形,系统配置,移动核心服务,libz.dylib,libz.1.2.5.dylib,CF网络,UI工具包和基础.我搜索了所有论坛,花了差不多4天但却找不到原因.

当我评论我的ASIHTTPRequest和SBJSON代码行时,它工作正常.我添加了ASIHTTPRequest和SBJSON的所有类,并检查了三次.有谁能建议我做错了什么?

jms*_*617 10

我会看一下Target中的Build Phases部分.在"编译源"下,确保您看到ASIHTTPRequest和SBJson的.m文件.有时,当您将外部类拖到项目中时,即使您选中了将文件复制到项目中的框,它们也不会进入这些编译源.将文件拖入Xcode时,会出现一个复选框,用于将文件添加到目标.如果未选中此选项,则该文件将不会进入编译源.删除文件并重新添加,确保选中此文件(或者如果您愿意,可以手动添加.m文件).


Jos*_*phH 0

对于 ASIHTTPRequest 错误,听起来您还没有将 ASIHTTPRequest.m 添加到您的项目中。

(或者您已添加 ASIHTTPRequest.m,但忘记提及 xcode 发出的有关 ARC 的 40 亿个错误 - 请参阅为什么我的 ASIHTTPRequest 文件显示 ARC 错误?