Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SCNetworkReachability compiling error

Tags:

iphone

I tried to compile Ercia Sadun's sample code here, but this error came up:

warning: in /Users/interdev/iphone source code/Web Browser/Classes/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file
    Undefined symbols:
      "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
          +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
      "_SCNetworkReachabilityCreateWithAddress", referenced from:
          +[UIDevice(Reachability) hostAvailable:] in UIDevice-Reachability.o
          +[UIDevice(Reachability) pingReachabilityInternal] in UIDevice-Reachability.o
      "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
          +[UIDevice(Reachability) unscheduleReachabilityWatcher] in UIDevice-Reachability.o
      "_SCNetworkReachabilitySetCallback", referenced from:
          +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
          +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
          +[UIDevice(Reachability) unscheduleReachabilityWatcher] in UIDevice-Reachability.o
      "_SCNetworkReachabilityGetFlags", referenced from:
          +[UIDevice(Reachability) hostAvailable:] in UIDevice-Reachability.o
          +[UIDevice(Reachability) pingReachabilityInternal] in UIDevice-Reachability.o
    ld: symbol(s) not found
    collect2: ld returned 1 exit status
        "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
            +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
        "_SCNetworkReachabilityCreateWithAddress", referenced from:
            +[UIDevice(Reachability) hostAvailable:] in UIDevice-Reachability.o
            +[UIDevice(Reachability) pingReachabilityInternal] in UIDevice-Reachability.o
        "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
            +[UIDevice(Reachability) unscheduleReachabilityWatcher] in UIDevice-Reachability.o
        "_SCNetworkReachabilitySetCallback", referenced from:
            +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
            +[UIDevice(Reachability) scheduleReachabilityWatcher:] in UIDevice-Reachability.o
            +[UIDevice(Reachability) unscheduleReachabilityWatcher] in UIDevice-Reachability.o
        "_SCNetworkReachabilityGetFlags", referenced from:
            +[UIDevice(Reachability) hostAvailable:] in UIDevice-Reachability.o
            +[UIDevice(Reachability) pingReachabilityInternal] in UIDevice-Reachability.o
      ld: symbol(s) not found
      collect2: ld returned 1 exit status
    Build failed (5 errors)

...Even after I added systemConfiguration.framework, it reported the same error. Why did it do this, and how can I make it work?

like image 919
arachide Avatar asked Mar 09 '10 10:03

arachide


1 Answers

Which SystemConfiguration.framework did you add? The first line clearly stated

warning: in /Users/interdev/iphone source code/Web Browser/Classes/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file

But you should add the SDK one, in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks.

The framework should be added by "Add Existing Framework..." in the right-click menu on the project.

like image 96
kennytm Avatar answered Nov 07 '22 13:11

kennytm