17

I'm trying to work with reachability in my project. I added Reachability.h and Reachability.m files. But after building project xCode shows me strange errors:

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

How can I solve this problem?

RomanHouse
  • 2,552
  • 3
  • 23
  • 44

3 Answers3

42

Probably you forgot to add the SystemConfiguration.framework to your project. If you don't know how to add a framework have a look at this SO question.

Community
  • 1
  • 1
alinoz
  • 2,822
  • 22
  • 38
3

Add these frameworks.. SystemConfiguration.framework Security.framework CFNetwork.framework

Shorhashi
  • 670
  • 5
  • 8
2

I've had the same error when I added the Reachability .h and .m files.

The solution is to make sure that the Reachability .m gets compiled along with the rest of your .m files. You need to do this.

  1. Click on the project navigator - the folder icon on the left-top corner under the play/stop button.
  2. Choose the target
  3. Click on "Build Phases".
  4. Click on the "+" icon. And add the Reachability.m file to your compile sources.
Anjaan
  • 660
  • 6
  • 10