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

Xcode не добавит "Встроенный двоичный файл" после удаления "DerivedData"

Альтернативные заголовки для поиска:

  • Добавление встроенных двоичных файлов не выполняется в Xcode
  • Xcode не свяжет структуру из отдельного проекта
  • Сбой приложений на устройстве из-за отсутствия фреймворка, работает в симуляторе

Обзор

После удаления папки "DerivedData" (или выполнения "Product > Clean" ) в , я не могу добавить фреймворки CocoaTouch из другого проекта в раздел "Встроенные двоичные файлы" (на вкладке "Общие" ).

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

Другие симптомы

Нажатие на + в разделе "Встроенные бинарные файлы" показывает селектор Framework, но выбор структуры в другом проекте в рабочей области ничего не делает.

4b9b3361

Ответ 1

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

Предпосылки: Прочитайте ответ Даниэла Тулла.

  • Удалите все каркасные проекты из рабочей области
  • Выполните "чистую сборку" и/или удалите "DerivedData"
  • Добавить проект обратно в рабочую область
  • Постройте проект (возможно, необязательно)
  • На вкладке "Общие" целевого приложения нажмите "+" под "Связанные структуры и библиотеки" , выберите фреймворк.
  • Создайте и запустите в симуляторе (не должно быть никаких проблем при создании или запуске)
  • Создайте и запустите для устройства (это может привести к сбою из-за неправильной привязки структуры, игнорировать этот сбой)
  • Нажмите + в "Встроенные бинарные файлы" , выберите фреймворк. Это должно добавить его в проект (возможный дубликат в разделе "Связанные структуры и библиотеки" ).
  • Повторить для всех необходимых фреймворков
  • После создания и запуска (на устройстве) вы можете удалить любые дубликаты (и/или красные) фреймворки в Навигаторе проектов или на вкладке "Общие"

Ответ 2

Когда вы добавляете фреймворк в Встроенные бинарные файлы, для него будет добавлена ​​ссылка для вашего проекта. Если вы выберете эту ссылку после своих шагов выше, вы, вероятно, обнаружите, что она имеет ссылку на абсолютный путь к структуре, а не относительную, которую мы хотели бы. Измените местоположение на "Относительно сборки продуктов", и ссылка всегда должна быть открыта, если "жестко" очистить или использовать другой компьютер и т.д.

У меня сделал видео, в котором описывается, как лучше всего добавить встроенную фреймворк из одного проекта в цель приложения в другом проекте sibling.

Ответ 3

Чтобы добавить к @Daniel ответ, если раскрывающееся меню Location вышло серым цветом, возможно, вы выбрали неверный файл. Убедитесь, что вы выбрали фреймворк, который находится в вашем проекте приложения (не в рамках проекта).

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