2012-04-07 5 views
2

Ich erhalte diese Störung, wenn ich versuche, mein Projekt zu bauen, die Erreichbarkeit verwendet (der Fehler nur kam, nachdem ich Erreichbarkeits umzusetzen versuchte): enter image description hereApple-Mach-O-Linker (Id) Fehler bei Erreichbarkeits

I Lesen Sie einige andere Beiträge im Internet, aber nichts schien zu funktionieren. Ich habe SystemConfiguration.framework (Projekt, Build-Phasen, +) hinzugefügt, aber das hat nicht funktioniert (ich hatte es bereits hinzugefügt, als der Fehler auftrat). Hier ist, wie ich die Dateien implementieren:

#import <UIKit/UIKit.h> 
#import "Reachability.h" 

@interface catalogDetailView : UIViewController{ 

} 

-(void)checkNetwork; 

@end 

Dann in der .m:

#import "catalogDetailView.h" 
-(void)checkNetwork{ 
    if ([self reachable]) { 
     NSLog(@"Connected to Network"); 
    } 
    else { 
     NSLog(@"Connection Failed"); 
    } 
} 
-(BOOL)reachable { 
    Reachability *r = [Reachability reachabilityWithHostName:@"apple.com"]; 
    NetworkStatus internetStatus = [r currentReachabilityStatus]; 
    if(internetStatus == NotReachable) { 
     return NO; 
    } 
    return YES; 
} 

Also, wenn Sie helfen könnte, dass wäre großartig !! Dank;) Luke

Antwort

8

Sie müssen Reachability.m zu Ihrer Build-Phase "Compile Sources" hinzufügen.

Eine Möglichkeit, dies zu tun:

  1. Select Reachability.m im Projektnavigator auf der linken Seite der Xcode-Fenster. Wenn Sie es nicht sehen, wählen Sie das Menü Ansicht> Navigatoren> Projektnavigator anzeigen.
  2. Zeigen Sie den Dateiinspektor auf der rechten Seite des Xcode-Fensters an. Ansicht> Dienstprogramme> Dateiinspektor anzeigen.
  3. Aktivieren Sie im Bereich Zielmitgliedschaft das Kontrollkästchen neben Ihrem Ziel.
+0

DANKE Ich habe seit Jahren gesucht. Du schaukelst! –

1

Ich werde Sie darauf wetten, dass Ihre ‚Quellen-Liste kompilieren‘ nicht reachability.m enthält. Ziehen Sie es unter der Registerkarte Build-Phasen in die Liste. Ich stelle oft fest, dass Xcode beim Hinzufügen von Dateien zu einem Projekt häufig nicht die Dateien hinzufügt, die die Kompilierliste Ihres Ziels enthält (weil sie standardmäßig nicht hinzugefügt werden).