it-swarm.com.ru

Ошибка команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова), Xcode 8, Swift 3

Я не могу избавиться от этой ошибки!

 

Я пробовал все виды вещей, таких как очистка производных данных (Preferences-> Locations-> нажмите серую стрелку, чтобы открыть папку производных данных в Finder-> щелчок правой кнопкой мыши, перейти в корзину), очистить проект (CMD + Shift + K или Product -> Очистить), обновив Carthage и зависимости, проверил другие ответы на StackOverflow (в основном это настройки в Build Settings/Phases), а также отозвал приложение из github и т.д.

Этот же проект работает на компьютерах моих сотрудников.

Правка: Исходя из текущего самого высокого ответа, я смог отладить немного дальше ... Хотя я все еще не уверен, как это исправить. Похоже, у меня есть что-то в проекте дважды? Я посмотрел и не могу найти ничего, что появляется дважды!

Вот картинка из журнала:  

78
Jake Dobson

я столкнулся с той же проблемой сегодня в версии 8.3.2 xcode 8

щелкните правой кнопкой мыши по вопросу -> показать в журнале

 enter image description here

тогда вы сможете проверить, что вызывает эту проблему

 enter image description here

141
umairqureshi_6

Возможно, вы установили файл pod , и вы все еще пытаетесь собрать его из файла .xcodeproj вместо .xcworkspace

86
Aashish

единственное, что сработало для меня, это запустить pod deintegrate и pod install

28
Charles Harring

ты пробовал чистить? cmd + shift + k

15
Francisco Perez

Хорошо ... Так вот что решило мою проблему ...

в файле делегата приложения:

#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"

Я импортировал Credentials.h уже в файле DarkSkyAPI.m в моем проекте. Комментирование лишнего импорта заставило ошибку исчезнуть!

Некоторые вещи, чтобы упомянуть и, возможно, помочь кому-либо в будущем. Ответ @ umairqureshi_6 помог мне в этом процессе, но не решил его. Он привел туда, где я смог выкопать информацию. Я продолжал видеть файлы AppDelegate и DarkSkyAPI, отображаемые в журнале ошибок, и информация, которую он извлекал из файла Credentials, вызывала ошибку. Я знал, что он должен быть в одном из этих трех файлов, поэтому я сразу же проверил импорт, потому что я вспомнил, что слышал, что .h несет все импорты из своего файла .m. Boom!

8
Jake Dobson

Я теперь на вопрос уже ответил. Но если это поможет кому-то сэкономить время: У меня была такая же ошибка. Я проверил все, чтобы найти очень маленькую и глупую ошибку со своей стороны. Я импортировал основной файл данных ManagedObject в контроллер представления моего проекта. Я случайно импортировал файл .m вместо файла .h , что приводило к дублированию символа в ошибке архитектуры (сбой команды компоновщика), поскольку мой файл свойств .m импортирует файл .h основного класса данных и, следовательно, вызывая импорт дубликатов. 

Так что просто проверьте, импортировали ли вы нужные файлы, прежде чем пробовать несколько решений.

5
Priyanka

Многие решения упомянуты выше. Никто не работал для меня (но, пожалуйста, попробуйте выше).

Выберите «Проект» -> «Выбрать цель» -> «Связанные рамки и библиотеки» -> «Добавить все библиотеки модулей». (удалить, если они существуют во встроенных двоичных файлах)

Теперь удалите их из Framework Folder в левом файловом обозревателе xcode.

Это решило мою проблему.

4
Aaban Tariq Murtaza

Выберите проект-> Build Phase-> Link Binary с библиотеками и добавьте все библиотеки pod.

3
K Prasad

Для любого, имеющего эту проблему с платформой Flurry. Это то, что исправило мою проблему . Для меня проблема заключалась в том, что я импортировал следующие файлы, но никогда не использовал их . "LibFlurryTVOS_9.2.3" "LibFlurryWatch_9.2.3" 

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

2
Cedan Misquith

У меня была такая же проблема с использованием Carthage для зависимостей. 

Просто зайдите в «Выбор проекта» -> «Настройки сборки» -> «Поиск включения битового кода» -> Если выбрано «Да», выберите «Нет».

Это решило эту проблему для меня.

2
A.Silva

В моем случае причиной ошибки является библиотека, которая была связана два раза.

Я использую react-native, поэтому он был связан автоматически с помощью react-native link и вручную в xcode.

1
Stanislav Mayorov

Я просто должен был сделать import Foundation!

Я использовал Kitura для серверной части Swift и постоянно забывал об этом!

1
Honey

Не было этой проблемы, когда я собрал и запустил на собственном устройстве. Была только эта проблема с симуляторами. Я просто перезагрузил компьютер и запустил его. Это сработало.

1
James Ryu

У меня была такая же проблема.

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

Решение было удалить эти переменные.

1
Ajit A. Kenjale

Вот моя проблема и решение: 

Я удалил два файла из исходного кода, используя исходное дерево (контроллер версий). После применения diff, который содержит два класса, которые я удалил, Xcode не добавил его автоматически. Итак, я получил ошибку компоновщика.

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

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

1
Sujananth

Я тестировал платформу Sparkle с CocoaPods.

К сожалению, я поставил "pod 'Sparkle', '~> 1.21'" в PodFile не в том месте. Я поместил это под Тестированием (для модульных тестов).

После размещения в правильном месте в PodFile все в порядке.

1
pdq

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

Моя проблема заключалась в том, что я настраивал Podfile моего XCode-Project для неправильной платформы. Изменение "platform: ios" в начале моего Podfile на "platform: macos" помогло мне избавиться от ошибки.

1
Vorashy

У меня такая же проблема. Если вы проверяете какой-либо проект github, то вместо использования git clone используйте git lfs clone, так как иногда некоторые большие файлы не клонируются должным образом при использовании только git. Также убедитесь, что ваш бит-код отключен.

0
Aman pradhan

В моем случае я изменил имя Target в моем Podfile, так что это создает ту же ошибку для меня.

Решение

Просто перейдите project-> Build Phase->Link Binary with libraries Удалите старую FrameWorks, нажав на minus button(-) и очистите и снова запустите. Это работа меня.

 enter image description here

Удалить нежелательный .framework.

0
Krunal Nagvadia

Убедитесь, что флажок Find Implicit Dependencies установлен.

(Продукт -> Схема -> Редактировать схему -> Построить -> Найти неявные зависимости)

0
llama591