Добавление фреймворка в проект и другой фреймворк

#ios #xcode #firebase #static-libraries #static-linking

# #iOS #xcode #firebase #статические библиотеки #статическое связывание

Вопрос:

Я потратил на эту проблему все свое время, и теперь у меня нет идей, поэтому решил попросить совета. У меня есть проект, который использует фреймворк (внутренне разработанный). Они оба используют Firebase. Ранее Firebase добавлялась в проект через модули, но теперь, к сожалению, она не работает по мере необходимости, и чтобы все работало, мне нужно добавить ее статически в проект. Проект -> использовать фреймворк (внутренне разработанный), поэтому фреймворк не имеет обратной ссылки на проект (и это правильно). Если статически добавить Firebase в этот фреймворк, он не инициализируется должным образом, потому что GoogleService-Info.plist находится в проекте, и запустите код скрипта, который инициализирует Firebase, который я добавил в проект, но на данном этапе он не может связать со статической библиотекой Firebase, которая находится внутри этих фреймворков (внутренне разработанных). Переместить GoogleService-Info.plist и запустить скрипт в фреймворк (внутренне разработанный) не в порядке, потому что этот фреймворк используется в других проектах. Поэтому я решил создать еще один фреймворк, который будет статически содержать все необходимые файлы Firebase и файл Firebase.h и добавлять его в project и framework (внутренне разработанные) отдельно. Но каждый раз я сталкиваюсь с некоторыми ошибками. Может кто-нибудь посоветовать, как сделать это правильно? Я не нашел ни одной ссылки с подобной проблемой. Любая помощь и советы приветствуются. введите описание изображения здесь

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

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

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

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

Комментарии:

1. @shallowThought Я обновил свой вопрос. Похоже, я неправильно настраиваю все фреймворки между собой

2. @shallowThought Я не могу задать путь поиска заголовка, потому что Firebase — это отдельная платформа, и она находится за пределами пути к файлу SCROOT. Я не знаю, как его интегрировать.

Ответ №1:

Согласно ошибке, вы не связываете цель mSDKPersisfance с LocalFirebase.

  1. Выберите цель mSDKPersistance
  2. Добавьте LocalFirebase.framework на этап сборки «связь с библиотекой»

Комментарии:

1. не могли бы вы помочь мне с проблемой связывания?

2. Ваш вопрос слишком задан, и информации недостаточно. Отредактируйте свою схему для построения зависимостей в правильном порядке и не делайте волшебства (параллельная сборка, поиск зависимостей)