После обновления моей установки POD Xcode прорвал новую проблему:
Не удалось выполнить команду Apple Mach -O Linker
Ответ 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
.
Причина, по которой ваш существующий проект не содержит никакой библиотеки, которую вы связали.
Ответ 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 и удалить дополнительный файл.