Ios – Apple Mach-O Linker (Id) error

iosiphonelinkermach-o

Got this error for the first time, I have looked around and cannot find a solution to help me, I have cleaned my build and also checked to make sure I am compiling for the latest firmware.

This happened after I tired implementing a reachability solution I found over here
I imported the two reachability files (.m/.h) then added this code into the .m file and delared t in the . h of the reachability files

-(BOOL)reachable {
    Reachability*r =[Reachability reachabilityWithHostName:@"enbr.co.cc"];
    NetworkStatus internetStatus =[r currentReachabilityStatus];
    if(internetStatus ==NotReachable){
        return NO;
    }
    return YES;}

After that I called the function from both of my viwcontrollers viewwillappear methods like so..

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];


    //-- Check Reachability START ---->
    Reachability *reach = [[Reachability alloc] init];

    if ([reach reachable]) {
            NSLog(@"Reachable");
    }
    else {
        NSLog(@"Not Reachable");
    }
     //-- Check Reachability END ---->
}

No errors were produced untill I tried to build and run in the simulator. This is the error I received 🙁

Ld
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator/wizcode.app/wizcode
normal i386
cd "/Users/imac/Documents/Iphone
applications/wizsanCode/wizsanCode.5/wizcode"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH
"/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2
-arch i386 -isysroot
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk
-L/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator
-F/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator
-filelist
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/wizcode.LinkFileList
-mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -lz
-framework CoreGraphics -framework MobileCoreServices -framework
SystemConfiguration -framework CFNetwork -framework UIKit -framework
Foundation -o
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator/wizcode.app/wizcode

ld: duplicate symbol _OBJC_IVAR_$_Reachability.reachabilityRef in
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o
and
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o
for architecture i386 collect2: ld returned 1 exit status Command
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2
failed with exit code 1 ld: duplicate symbol
_OBJC_IVAR_$_Reachability.reachabilityRef in
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o
and
/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o
for architecture i386

Command
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2
failed with exit code 1

Best Answer

So, the problem has been resolved.

What happened was when I imported the reachability files over into my build something funny was happening and somehow I deleted the reachability files that were already in my build being used by the "all seeing I" ASIHTTPRequest methods I was using for transporting my data... which messed everything up.

So long story short I replaced the files and everything is working fine and I also found out that ASIHTTPTequest is taking care of the reachability for me :) how cool is that.

Related Topic