Ответ 1
Как я уже сказал, проблема была не в коде, а в некоторых настройках. Итак, что я сделал, это копирование кода с Mac Mac моих друзей (он отлично работал) и установил новую копию проекта на мой Mac. Это сработало.
Я работал над своим проектом и вдруг после редактирования кода и компиляции дал эту ошибку:
ld: warning: каталог не найден для опции '-
L/Пользователи/mani/Документы/Классы/Twitter + OAuth/Библиотеки и заголовки ld: дублирующий символ _OBJC_CLASS _ $_ playSiew в /Users/mani/Library/Developer/Xcode/DerivedData/learn -aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/playSiew.o а также /Users/mani/Library/Developer/Xcode/DerivedData/learn -aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/Thumb.o для архитектуры i386 clang: ошибка: команда компоновщика не удалась с выходом код 1 (используйте -v, чтобы увидеть вызов)
Я никогда не касался настроек проекта, просто отредактировал код.
Что еще более странно, что я вынул последний переработанный код из svn, но все же я получил ту же ошибку.
Как я уже сказал, проблема была не в коде, а в некоторых настройках. Итак, что я сделал, это копирование кода с Mac Mac моих друзей (он отлично работал) и установил новую копию проекта на мой Mac. Это сработало.
Возможно, вы случайно #import
'.m файл вместо .h. Используйте Cmd + Shift + F и ищите ".m" (без кавычек). Скорее всего, это будет один из классов, упомянутых в предупреждении. Если нет, очистите и снова запустите.
У меня также была такая же проблема, и я сделал следующее, и проблема исчезла.
Перейдите в Продукт → Очистить и запустите проект.
Я надеюсь, что это может быть полезно для некоторых других разработчиков.
После запуска этой проблемы несколько минут назад (да, я знаю, что прошло 7 месяцев с момента создания), я обнаружил, что корень моей проблемы был вызван перетаскиванием файлов в мой проект в XCode вместо правильного -clicking и выбор "Добавить файлы в проект".
Проверить, что playSiew.m находится в разделе "Источники компиляции". не так ли?
Вы можете найти раздел "Источники компиляции", следуя этому шагу.
Если в этом разделе нет playSiew.m. Вы должны добавить его в этот раздел.
Я импортировал библиотеку в тестовом примере, который я указал в моем файле pod для основной цели, но не для целевой цели.
Я также получил эту ошибку, потому что случайно включил две версии одного и того же исходного файла. Удалил не тот, и проблема исчезла...
Столкнувшись с подобной проблемой, при запуске кода на симуляторе, попробовав все вышеупомянутые опции, по-прежнему получена такая же ошибка. Пробовал подключать устройство iOS и строить код, он сработал для нас. Это может быть быстрое обходное решение.
Если вы работаете в Unity и экспортируете в iOS, и вы используете плагин, перейдите в Xcode Build Settings и установите ENABLE BITCODE = NO. Я предполагаю, что это может относиться и к другим ситуациям.
та же ошибка, с которой я столкнулся. поэтому я просто удалил ссылку на классы, которые генерируют ошибки, и снова дал ссылку, и ошибка исчезла...
как D80Buckeye говорит, что проблема с перетаскиванием файлов должна быть проблемой, а не нажатием кнопки "Добавить файлы"
В случае, если это пригодится для кого-то другого - у меня была такая же ошибка, и выяснилось, что причиной была инициализация переменной в моем заголовочном файле, а не в основном файле.
Я только что столкнулся с той же ошибкой. Если вы используете встроенные библиотеки, убедитесь, что для вашей цели развертывания установлено значение iOS 8.0 или новее.
вам нужно добавить следующую структуру: quartzcore.framework
Единственный способ, которым мы можем преодолеть эту ошибку в нашем проекте, - это сделать "Чистый", а затем построить для iPad Retina. После этого он будет успешно создан для любого устройства. Weird.
В моем случае у меня есть ссылка на фреймворк FacebookLoginSDK, но забудьте указать путь поиска в настройке сборки. После удаления ссылки все было в порядке.
Итак, сделайте вывод, что если вы добавляете какую-либо внешнюю структуру, будьте осторожны.
Если это происходит с генерируемыми классами CoreData, объедините + CoreDataProperties и + CoreDataClass в класс + CoreDataProperties и удалите + CoreDataClass. Обязательно выполните поиск Derived Data для остатков + CoreDataClass. Даже после удаления Derived Data и очистки я иногда Xcode просто генерировал + CoreDataClass снова и снова. Удаление его вручную в Finder, а затем повторное наращивание помогло мне решить эту проблему.
попробуйте это, перейдите в Target → Build Settings, затем выполните поиск по этим трем следующим образом:
GCC_NO_COMMON_BLOCKS,
CLANG_WARN_INFINITE_RECURSION,
CLANG_WARN_SUSPICIOUS_MOVE,
установите NO для каждого значения, затем очистите и постройте.
Если вы используете контейнеры, убедитесь, что вы работаете в файле рабочей области. Если не закрыть этот проект и повторно открыть его, но с файлом рабочей области. Ошибка была исправлена для меня с этим решением.
Я попробовал несколько ответов, но никто не работал у меня. Я получил сообщение об ошибке после обновления XCode (хотя он все еще был открыт, что, возможно, способствовало возникновению проблемы)
Сначала, я удалил папку Derived Data: XCode = > Предпочтения = > Местоположения = > Двойной щелчок на стрелке рядом с дорожкой, указывающей, где находится папка Derived Data. Затем "Переместить в корзину" Я не думаю, что проблема была, но удивительно, сколько раз это было проблемой для меня, работая над различными проблемами.
Второй, я выхожу из симулятора.
Третий, я 'Quit' XCode.
Четвертый, я снова открыл свой проект в XCode, а затем выполнил команду "Очистить" и "Сборка" (в меню "Продукт" )
Пятый, я запускал свой проект, и он работал нормально
Очистка проекта не работает для меня. Перезапустите Xcode для меня...
Перейдите в общие и связанные фреймворки и библиотеки в xcode и удалите все файлы там.