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

Не удалось выполнить команду Apple Mach -O Linker

происходит случайная ошибка

После обновления моей установки POD Xcode прорвал новую проблему:

4b9b3361

Ответ 1

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

Ответ 2

Несколько раз вам нужна просто чистая сборка. Это помогло мне. Очистить сборку go Продукт → Очистить

Ответ 3

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

В вашем приложении перейдите в Target → Build Settings, затем вы найдете следующие атрибуты.

  • CLANG_WARN_INFINITE_RECURSION
  • CLANG_WARN_SUSPICIOUS_MOVE
  • GCC_NO_COMMON_BLOCKS

Задайте значения для НЕТ, затем очистите и постройте проект.

Ответ 4

Следующие шаги помогли мне избавиться от этой проблемы:

  • Перейдите к пути к проекту и удалите папку Pods и файл Podfile.lock.
  • Повторно установите контейнеры с помощью команды "pod install".
  • Откройте xcworkspace и очистите его перед запуском.

Надеюсь, это спасет кого-то, как это было для меня.

Ответ 5

Закройте проект и перейдите к пути к проекту и выберите свой проект .xcworkspace вместо .xcodeproj. Причина, по которой ваш существующий проект не содержит никакой библиотеки, которую вы связали.

ss

Ответ 6

Удалите локальные файлы WikitudeSDK из целевой. Xcode путается между путями библиотеки, какой из них выбрать - под или локальным.

Также попробуйте переустановить podfile и удалить wikitude из файла pod в. В установках пути поиска ссылок, в настройках сборки проверьте указанные пути, чтобы найти нужную библиотеку.

Наконец, установите камни перед обновлением модулей

Ответ 7

Я получил ту же ошибку, что и дублирование имени переменной. Вам нужно проверить все имя переменной и функции для всего файла .m и убедиться, что она не одинакова ни в одном другом файле. Затем очистите и выполните сборку.

Это работает для меня.

Ответ 8

Вам нужно проверить опцию Link Binary With Libraries. Иногда вы строите блок, который больше не находится в вашем проекте.

На левой панели щелкните по имени вашего проекта, затем в разделе "Цели" (щелкните по имени), затем Сборка фаз > Ссылка на двоичный файл с файлами. Удалите все, что вы не используете.

Ответ 9

У меня была аналогичная проблема, и я просто должен был включить флажок "копировать при необходимости" при добавлении фреймворка в проект. Ссылка только для меня не работала...

Ответ 10

Я не знаю, почему произошла ошибка в моем случае, я повторно использовал код из другого проекта, который я создал некоторое время назад, и после того, как я адаптировал код, я всегда получал команду "Apple Mach -O Linker" - Сообщение. Я думаю, что это произошло потому, что я создал/удалил некоторые файлы из проекта.

То, что решило это для меня, было следующим:

  • Создать новый проект
  • скопируйте все необходимые файлы из старого проекта в новый (Drag and Drop, не забудьте отметить флажок "Скопировать, если необходимо" )
  • Создайте и посмотрите, что он работает.

Звучит глупо, и я понятия не имею, почему, но это сработало.

Ответ 11

решение для меня было открытым файлом .xcworkspace, установленным в .xcodeproj, находящимся в папке '/platform/ios'.

Ответ 12

Я использую XCode для компиляции приложения с ионным 3.

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.10.1
    ionic (Ionic CLI) : 3.10.1

global packages:

    Cordova CLI : 7.0.1 

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : android 6.2.3 ios 4.5.0
    Ionic Framework    : ionic-angular 3.6.0

System:

    ios-sim : 5.0.8 
    Node    : v8.4.0
    npm     : 5.4.0 
    OS      : OS X Yosemite
    Xcode   : Xcode 7.2 Build version 7C68 

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

sudo chmod -R 775 platforms/ios/ 

Работал отлично.

Ответ 13

У меня возникла ошибка при перезаписывании проекта.

По-прежнему встречается ошибка после:

  • Изменение настроек clang

  • платформа ionic cordova удаляет ios, а не просто удаляет папку платформы ios перед каждой новой сборкой (и, конечно, снова добавляет платформу)

  • обновление рубина в соответствии с инструкциями: https://forum.ionicframework.com/t/x-code-8-beta-2-apple-mach-o-linker-id-error/71998

Ошибка была решена после перехода на другую ветку в github, но, возможно, один из других методов устранения неполадок сыграл свою роль. Теперь все ветки работают на xcode без ошибки Mach -O Linker.

Ответ 14

Первое, что вам нужно сделать, это удалить файлы в /Users/Yourname/Library/Developer/Xcode/DerivedData/YourAppName-xxxx а затем перезапустите Xcode. Это не шутка!

Если у вас есть ошибка, например, "duplicate symbol_OBJC_CLASS _ $_ Pod in:", вы должны перейти к TARGETS- > Build Phases- > Compile Sources и удалить дополнительный файл.