Apple Mach-O链接器(Id)错误

C.J*_*hns 12 iphone linker mach-o ios

第一次遇到这个错误,我环顾四周,无法找到帮助我的解决方案,我已经清理了我的构建并检查以确保我正在编译最新的固件.

这发生在我累了实现我在这里找到的可达性解决方案后, 我导入了两个可达性文件(.m/.h),然后将此代码添加到.m文件中,并在该文件中延迟了.h可达性文件

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

之后我从我的两个viwcontrollers viewwillappear方法中调用了这个函数,就像这样.

- (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 ---->
}
Run Code Online (Sandbox Code Playgroud)

没有错误产生,直到我试图在模拟器中构建和运行.这是我收到的错误:(

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:重复符号_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和/Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o for i386硬件架构collect2:LD返回1个退出状态命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2失败,退出代码1 LD:重复的符号_OBJC_IVAR _ $ _ Reachability.reachabilityRef在/用户/ iMac电脑/ Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbahgxartbvxwurq/Build/Intermediates/wizcode.build/Debug-iphonesimulator/wizcode.build/Objects-normal/i386/Reachability-183E2D17A6B26176.o和/ Users/imac/Library/Developer/Xcode/DerivedData/wizcode-ccyrqptvfsabmbah gxartbvxwurq /生成/中间体/ wizcode.build /调试-iphonesimulator/wizcode.build /对象 - 正常/ I386 /可达性-183E2D17A6B26176.o为i386硬件架构

命令/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2失败,退出代码为1

C.J*_*hns 8

所以,问题已经解决了.

发生了什么事情,当我将可访问性文件导入到我的构建中时发生了一些有趣的事情,并且我以某种方式删除了我的构建中已经使用的可访问性文件,这些文件被我用于传输数据的"所有看到的"ASIHTTPRequest方法使用.这搞砸了一切.

长话短说,我更换了文件,一切正常,我也发现ASIHTTPTequest正在为我提供可达性:)这有多酷.