'Framework не найден' в Xcode

Я знаю, что об этом спрашивали пару раз. Я следовал инструкциям из этих:

Добавление фреймворков в проект в Xcode 5 и добавлены * относительные * пути

xcode4: ошибка компоновщика: каталог не найден для варианта

Тем не менее Xcode выдает эту ошибку:

введите описание изображения здесь

Вот моя текущая конфигурация:

введите описание изображения здесь

введите описание изображения здесь

Структура болтов такова, что я могу использовать Parse SDK. Я загрузил пустой проект отсюда: https://parse.com/apps/quickstart#parse_data/mobile/ios/native/new

Это работает. Я пытался скопировать все параметры конфигурации, но они все равно не работают.


person Kim Montano    schedule 21.09.2015    source источник
comment
Вместо этого вы можете использовать коконады. github.com/ParsePlatform/Parse-SDK-iOS-OSX   -  person BenJammin    schedule 21.09.2015
comment
Убедитесь, что icloud не сохраняет ваши фреймворки и не изменяет имя пути.   -  person Jared Jones    schedule 02.03.2021


Ответы (23)


Попробуйте удалить Bolts.framework из связанной структуры и снова добавить его. Кроме того, в вашем Framework Search Path сохраняйте путь до Bolts.framework, например $(PROJECT_DIR)/Bolts, если он находится внутри папки Bolts по пути к каталогу вашего проекта.

person Abhinav    schedule 21.09.2015
comment
В качестве пути поиска фреймворка перейдите к своему проекту, выберите цель, а затем перейдите к настройкам сборки. Выполняйте поиск framework, пока не увидите путь поиска фреймворка жирным шрифтом. - person George_E; 19.05.2019

Я новичок в разработке iOS. По-видимому, эта проблема для меня была результатом открытия проекта Xcode .xcodeproj вместо рабочего пространства Xcode .xcworkspace. Вместо этого я открыл рабочую область, и ошибка исчезла.

person Lou Morda    schedule 05.08.2018
comment
Это решает проблему для меня, но когда я открываю рабочую область, все, что я вижу, - это файл ViewController.class. Когда я пытаюсь открыть другие файлы, они открываются в виде сбоку, который не может правильно читать файлы xib. Вы знаете, как это сделать? - person Sam; 23.03.2019
comment
Идеально! Это сработало для меня. Спасибо! - person mvp; 16.07.2021

удалите все фреймворки из встроенных двоичных файлов и повторно добавьте его

person frank    schedule 06.12.2016

Платформа не найдена

Если вы используете CocoaPods, попробуйте запустить:

pod deintegrate
pod update

Также используйте .xcworkspace вместо .xcodeproj

person yoAlex5    schedule 31.08.2020

Вот решение:

Превратите атрибут «$ (PROJECT_DIR)» (может быть нерекурсивным по умолчанию) в рекурсивный параметр в «Выбрать проект». Нажмите «Целевые объекты». Нажмите - «Параметры сборки». Найдите «Путь поиска фреймворка» - дважды щелкните вход.

Поцарапано с https://stackoverflow.com/a/31298214/4493512

person KoreanXcodeWorker    schedule 31.03.2016

У меня была такая же ситуация (мне было трудно исправить ошибку сборки OP после добавления стороннего фреймворка), и это похоже на ошибку в Xcode (у меня 8.3.2 (8E2002)).

Проблема заключалась в том, что имя папки в пути к фреймворку содержало пробелы. В этом случае Xcode неправильно экранировал их обратной косой чертой, как это в Build Settings -> Framework Search Paths:

$(PROJECT_DIR)/Folder\ with\ spaces/Lib

Чтобы исправить это, просто вручную отредактируйте запись, чтобы удалить эти обратные косые черты и заключить всю строку в кавычки, например:

"$(PROJECT_DIR)/Folder with spaces/Lib"
person Alexander Abakumov    schedule 15.06.2017

Я тоже получал эту ошибку, я переместил файл фреймворка в корневую папку проекта и снова добавил в фреймворк, и проблема решена.

person alicanozkara    schedule 18.01.2018

  1. Удалите ссылку на фреймворк из настройки проекта Xcode.
  2. Переместите каркас в папку проекта.
  3. Повторно добавьте фреймворк в настройках проекта Xcode.
  4. очистите проект и перекомпилируйте его.
person August Lin    schedule 07.04.2020
comment
Важной частью этих инструкций для меня было то, что когда я переместил свой фреймворк в папку проекта, а не где-то еще в моей файловой системе, Xcode автоматически добавил родительскую папку фреймворка в Framework Search Paths Build Setting моей цели, когда я повторно добавил фреймворк. к цели в Xcode. Я решил добавить папку Frameworks в свой проект так, чтобы моя цель имела запись Framework Search Paths следующим образом: "$(PROJECT_DIR)/Frameworks". - person Adil Hussain; 30.10.2020

Помимо удаления фреймворка из Podfile и Linked Frameworks and Libraries, мне также пришлось удалить ссылку на фреймворк в Other Linker Flags.

person Andre Simon    schedule 05.12.2016
comment
Это ЗОЛОТО! Тысм - person Matea; 03.06.2021

Удалите фреймворк, вызывающий проблему (удалив ссылку).

Затем добавьте его снова, выполнив следующие шаги для добавления фреймворков и библиотек FBSDK:

  1. нажмите проект
  2. общие настройки
  3. связанный фреймворк и библиотеки
  4. нажмите кнопку с плюсом и добавьте все, что хотите
person AyAz    schedule 28.07.2016
comment
Я бы подумал, что это сработает само по себе, но даже после этого мне все равно пришлось снять флажок Целевое членство, запустить Продукт ›Очистить, а затем снова установить флажок Целевое членство. - person Michael; 25.07.2019

Ничего из вышеперечисленного не помогло мне, пока я не обнаружил, что у меня есть пустая строка «Любая архитектура | Любой SDK» под «Пути поиска / отладка Framework» в разделе «Параметры сборки».

Удалил строчку и все работает!

person Dave    schedule 09.10.2018

1: - Удалите фреймворк из проекта Xcode. Закройте Xcode.

2: - Откройте свой проект в XCode, перейдите к файлу в меню и выберите Добавить файлы в YourProjectName.

введите описание изображения здесь

3: - Выберите YourFramwork.framework в каталоге, в котором вы его храните.

4: - Установите флажок Копировать элементы при необходимости.

5: - Щелкните Добавить.

введите описание изображения здесь

Убедитесь, что у вас есть платформа, добавленная как во встроенные двоичные файлы, так и в связанные платформы и библиотеки в разделе Параметры цели - Общие. Как показано на следующих изображениях: -

введите описание изображения здесь

введите описание изображения здесь

person Ashutosh kumar Mishra    schedule 23.06.2020
comment
Важной частью этих инструкций для меня было то, что когда я скопировал фреймворк в свой проект перед добавлением его в мою цель, Xcode автоматически добавил для него запись в Framework Search Paths Build Setting моей цели. Я решил скопировать фреймворк в папку Frameworks в моем проекте так, чтобы у моей цели была запись Framework Search Paths следующим образом: "$(PROJECT_DIR)/Frameworks". - person Adil Hussain; 30.10.2020

Эта ошибка возникла у меня из-за того, что папка Pods находилась в iCloud и не имела локальной копии на моем компьютере. Перейдите в папку вашего проекта в Finder и проверьте, есть ли символ iCloud в любой из папок внутри него!

person Laura Corssac    schedule 24.02.2019

Я понял, что я не запускал / не создавал свой фреймворк с Generic Device, что странным образом привело к этим проблемам. Я просто вставил фреймворк обратно, и он заработал.

person George_E    schedule 18.05.2019

Моя структура имеет длинное название, например FrameworkSDK_Light-1.0.6.framework, поэтому я переименовал ее в FrameworkSDK_Light.framework, и это решило мою проблему.

person Antons Aleksandrovs    schedule 29.04.2019

Получил ошибку «Фреймворк AdBrixRM не найден». Я проверил AdBrixRM.framework. Я заметил, что отсутствует файл исключения AdBrixRM. Я скопировал этот файл в папку framework, и проблема исчезла.

person YingTai.Z    schedule 31.08.2019

Раньше я сталкивался с той же самой проблемой в прошлом с Google Admob SDK. Совсем недавно это произошло при попытке добавить валидические библиотеки. Я попробовал тот же старый добрый трюк и на этот раз, и он сработал в мгновение ока.

1) Удалите рамки, если они уже добавлены.

2) Найдите структуру в Finder и перетащите их прямо в панель "Навигатор проекта" под деревом проекта.

3) Создайте проект и ух!

Не знаю, в чем разница, но добавив фреймворки официальным способом, перейдя в раздел «Связанные фреймворки и библиотеки» на странице настроек проекта (TARGET) и перейдя по ссылке из у меня там не работает. Надеюсь это поможет.

person programmer    schedule 17.03.2020

Я обнаружил, что file.framework ссылается на файл вне моего проекта. Поэтому я перетащил файл в свою папку frameworks в моем проекте, а затем избавился от более раннего файла file.framework, и он сработал.

person Ahmad Labeeb    schedule 30.06.2020

Если вы используете CocoaPods. Подобное случилось со мной. Хотя это старый вопрос, у кого-то вроде меня все еще есть проблемы. Итак, в помощь: после pod install он предупреждает вас о файлах проекта. Я до сих пор не замечал. он говорит:

[!] Пожалуйста, закройте все текущие сеансы Xcode и с этого момента используйте ProjectFile.xcworkspace для этого проекта.

В общем, не продолжайте работать над .xcodeproj после установки модулей. Если вы это сделаете, компоновщик не найдет файлы.

person GO.exe    schedule 21.10.2020

Если вы разрабатываете один модуль с использованием cocoapods, попробуйте прокомментировать строку

s.vendored_frameworks = "YOURMODULE.framework"

on YOURMODULE.podspec

Ошибка исчезнет после того, как вы создадите и скопируете свой YOURMODULE.framework в папку проекта.

person Ronaldo Albertini    schedule 25.02.2021

После добавления обоих фреймворков также откройте каждый фреймворк Bolts и Parse и добавьте в проект Parse и Bolts, тогда проблема будет решена.

person rawa rawandze    schedule 20.12.2016
comment
Просмотрите как написать хороший ответ. Пожалуйста, добавьте несколько ссылок и расширьте свое объяснение. - person Quintin Balsdon; 20.12.2016

Запуск pod update в каталоге root приложения устранил проблему для меня.

person Anton Klimenko    schedule 04.01.2021

У меня была эта проблема в одном из проектов, над которыми я работал, прежде чем вы удалите и прочитаете фреймворк, выполните следующие действия:

git status 

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

git stash 

or

git checkout *framework/file/path*
person DvixExtract    schedule 27.05.2021