苹果的可达性文件奇怪的错误

我正在尝试在我的项目中使用可达性。 我添加了Reachability.h和Reachability.m文件。 但build设项目xCode后显示我奇怪的错误:

Undefined symbols for architecture i386: "_SCNetworkReachabilityCreateWithName", referenced from: +[Reachability reachabilityWithHostname:] in Reachability.o "_SCNetworkReachabilityCreateWithAddress", referenced from: +[Reachability reachabilityWithAddress:] in Reachability.o "_SCNetworkReachabilitySetCallback", referenced from: -[Reachability startNotifier] in Reachability.o -[Reachability stopNotifier] in Reachability.o "_SCError", referenced from: -[Reachability startNotifier] in Reachability.o "_SCErrorString", referenced from: -[Reachability startNotifier] in Reachability.o "_SCNetworkReachabilitySetDispatchQueue", referenced from: -[Reachability startNotifier] in Reachability.o -[Reachability stopNotifier] in Reachability.o "_SCNetworkReachabilityGetFlags", referenced from: -[Reachability isReachable] in Reachability.o -[Reachability isReachableViaWWAN] in Reachability.o -[Reachability isReachableViaWiFi] in Reachability.o -[Reachability connectionRequired] in Reachability.o -[Reachability isConnectionOnDemand] in Reachability.o -[Reachability isInterventionRequired] in Reachability.o -[Reachability reachabilityFlags] in Reachability.o 

我怎么解决这个问题?

可能你忘了把SystemConfiguration.framework添加到你的项目中。 如果你不知道如何添加框架看看这个SO问题 。

添加这些框架.. SystemConfiguration.framework Security.framework CFNetwork.framework

当我添加Reachability .h和.m文件时,我遇到了同样的错误。

解决方法是确保Reachability .m与您的.m文件的其余部分一起编译。 你需要这样做。

  1. 点击项目导航器 – 播放/停止button下左上angular的文件夹图标。
  2. select目标
  3. 点击“构build阶段”。
  4. 点击“+”图标。 并将Reachability.m文件添加到您的编译源。