Подтвердить что ты не робот

Ошибка Apple Mach-O Linker (Id)

Получил эту ошибку в первый раз, я огляделся и не могу найти решение, чтобы помочь мне, я очистил свою сборку и также проверил, чтобы убедиться, что компилирую последнюю версию прошивки.

Это произошло после того, как я устал реализовывать решение доступности, которое я нашел здесь здесь Я импортировал два файла достижимости (.m/.h), затем добавил этот код в файл .m и delared t в. h файлов достижимости

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

После этого я вызвал функцию из обоих моих виуконтроллеров 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 ---->
}

Ошибки не производились до тех пор, пока я не попытался создать и запустить в симуляторе. Это ошибка, которую я получил: (

Ld /Users/imac/Library/Developer/Xcode/DerivedData/wizcode -ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator/wizcode.app/wizcode нормальный i386     cd "/Пользователи/imac/Documents/Iphone Приложения /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/Пользователи/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 Основание -o /Users/imac/Library/Developer/Xcode/DerivedData/wizcode -ccyrqptvfsabmbahgxartbvxwurq/Build/Products/Debug-iphonesimulator/wizcode.app/wizcode

ld: дубликат символа _OBJC_IVAR _ $_ Reachability.reachabilityRef в /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 для архитектуры i386 collect2: ld возвращен 1 статус выхода Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 не удалось с кодом выхода 1 ld: дублировать символ _OBJC_IVAR _ $_ Reachability.reachabilityRef в /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 для архитектуры i386

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 не удалось с кодом выхода 1

4b9b3361

Ответ 1

Итак, проблема решена.

Что произошло, когда я импортировал файлы достижимости в мою сборку, произошло что-то смешное, и каким-то образом я удалил файлы достижимости, которые уже были в моей сборке, которые используются методами "все видящие меня" ASIHTTPRequest, которые я использовал для транспортировки моего данные... которые все испортили.

Короче говоря, я заменил файлы, и все работает нормально, и я также узнал, что ASIHTTPTequest заботится о достижимости для меня:), насколько это круто.

Ответ 2

Проверьте правильность связи SystemConfiguration. Во всяком случае, очистите свой код:

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

А затем просто вызовите [Reachability reachable], где вам нужно. Это также устраняет утечку памяти, которую вы имеете.

Ответ 3

Просто, чтобы добавить к этому, это произошло после того, как я восстановил управляемые подклассы, и он фактически не перезаписывал существующие, а просто делал новые дубликаты. Я просто удалил и то, и другое, и все было хорошо.

Ответ 4

После изменения моей основной модели данных я удалил все (автоматически сгенерированные) подклассы NSManagedObjectModel и создал их снова. Как только все они были созданы, я перетащил их в папку группы в XCode... и получил вращающийся пляжный мяч дольше обычного.

В следующий раз, когда я попытался запустить, он потерпел неудачу с ошибкой "Mach-O-Linker" (Id). Прочитав другие ответы, я подумал, что это может быть связано с тем, что классы NSMObj не являются ожидаемыми. Я удалил их, запустил, открыл, сгенерировал их и поместил их в свою обычную групповую папку... и Viola! нет ошибки Mach-O.

Я вижу, что проблема решена, но я отправляю ее только для того, чтобы проиндексировать ее по соответствующему вопросу. В моем случае удаление и восстановление (через меню редактора) подклассы управляемых объектов исправили проблему.

Ответ 5

Удалите его, затем добавьте его снова. Работает на меня.: D

Ответ 6

Это происходит со мной, когда я добавляю стороннюю структуру аналитики в свой проект. Когда я проверяю с информацией о структуре, ее неправильно скопировали на диск. я загрузить новую фреймворк и скопировать его в проект, и теперь нет ошибки.

Ответ 7

У меня был этот код в одном из моих UIViewController и его устранение решила эту ошибку. Какое глупое и нечеткое сообщение об ошибке

NS_ENUM(NSInteger, Mode) {
    Assessments = 0,
    Onboarding
};

Ответ 8

Убедитесь, что вы запускаете приложение YourApp.xcworkspace вместо файла .xcodeproj. Я столкнулся с той же проблемой, когда запустил файл .xcodeproj. Запуск .xcworkspace решил проблему, и ошибка исчезла.