当我尝试构建时,添加Reachability类失败

Luc*_*uke 12 iphone linker-errors ios

我添加了SystemConfiguration框架.我正在部署3.2及更高版本的目标.我忘了添加一些东西吗?

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Reachability", referenced from:
      objc-class-ref in AppDelegate.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)

Dam*_*amo 41

好的,这些线索都在您发布的错误报告中.

在编译项目中的所有符号之后链接(消息来自链接器ld)时,消息就是这样说的

"在AppDelegate中,您引用了一个名为Reachability的类对象"

"_OBJC_CLASS_$_Reachability"
Run Code Online (Sandbox Code Playgroud)

就链接器而言,可达性是不确定的.

因此,请检查项目中是否正在编译Reachability.有几种方法可以做到这一点.也许最明确的方法是 在此输入图像描述

1在导航窗格中选择项目文件

2选择目标

3选择Build Phases

4展开" 编译源"部分

*现在检查将为您缺少的类编译的源列表,在您的案例中为Reachability.m

如果缺少,请使用+按钮将文件添加到目标.

另一种方式是

在此输入图像描述

1选择您认为未编译的文件

2打开实用程序面板

3选择文件检查器选项卡

项目中的每个目标都会有一个复选框,您可以轻松查看是否正在为每个/所有目标编译.m文件.