Xcode не добавит "Встроенный двоичный файл" после удаления "DerivedData"
Альтернативные заголовки для поиска:
- Добавление встроенных двоичных файлов не выполняется в Xcode
- Xcode не свяжет структуру из отдельного проекта
- Сбой приложений на устройстве из-за отсутствия фреймворка, работает в симуляторе
Обзор
После удаления папки "DerivedData" (или выполнения "Product > Clean" ) в xcode6, я не могу добавить фреймворки CocoaTouch из другого проекта в раздел "Встроенные двоичные файлы" (на вкладке "Общие" ).
Или, Xcode попадает в ошибку компоновщика, потому что он не может найти фреймворк, который, если раньше мог.
Другие симптомы
Нажатие на + в разделе "Встроенные бинарные файлы" показывает селектор Framework, но выбор структуры в другом проекте в рабочей области ничего не делает.
Ответы
Ответ 1
Это единственный способ, который я обнаружил для восстановления встроенных двоичных файлов, оставляя комментарии, если вы обнаружите, что некоторые шаги не требуются.
Предпосылки: Прочитайте ответ Даниэла Тулла.
- Удалите все каркасные проекты из рабочей области
- Выполните "чистую сборку" и/или удалите "DerivedData"
- Добавить проект обратно в рабочую область
- Постройте проект (возможно, необязательно)
- На вкладке "Общие" целевого приложения нажмите "+" под "Связанные структуры и библиотеки" , выберите фреймворк.
- Создайте и запустите в симуляторе (не должно быть никаких проблем при создании или запуске)
- Создайте и запустите для устройства (это может привести к сбою из-за неправильной привязки структуры, игнорировать этот сбой)
- Нажмите + в "Встроенные бинарные файлы" , выберите фреймворк. Это должно добавить его в проект (возможный дубликат в разделе "Связанные структуры и библиотеки" ).
- Повторить для всех необходимых фреймворков
- После создания и запуска (на устройстве) вы можете удалить любые дубликаты (и/или красные) фреймворки в Навигаторе проектов или на вкладке "Общие"
Ответ 2
Когда вы добавляете фреймворк в Встроенные бинарные файлы, для него будет добавлена ссылка для вашего проекта. Если вы выберете эту ссылку после своих шагов выше, вы, вероятно, обнаружите, что она имеет ссылку на абсолютный путь к структуре, а не относительную, которую мы хотели бы. Измените местоположение на "Относительно сборки продуктов", и ссылка всегда должна быть открыта, если "жестко" очистить или использовать другой компьютер и т.д.
У меня сделал видео, в котором описывается, как лучше всего добавить встроенную фреймворк из одного проекта в цель приложения в другом проекте sibling.
Ответ 3
Чтобы добавить к @Daniel ответ, если раскрывающееся меню Location вышло серым цветом, возможно, вы выбрали неверный файл. Убедитесь, что вы выбрали фреймворк, который находится в вашем проекте приложения (не в рамках проекта).
![введите описание изображения здесь]()