Xcode Создать быстрый фреймворк, который сам использует cocoapods
Я все еще относительно новичок. Я пытаюсь создать приложение типа Uber, которое использует базу данных Firebase (устанавливается через какао-бобы). Я создаю приложение для водителей и другое для гонщиков. Я также пытаюсь начать правильно, структурируя свое приложение как можно лучше.
В приложении riders я создал одноэлементный обработчик базы данных для управления доступом к базе данных, включая функции добавления райдера в базу данных. Общая база данных Firebase совместно используется обоими приложениями. Вместо того, чтобы оба приложения имели отдельные обработчики базы данных (и различные другие независимые обработчики), я создал независимую среду swift для хранения обработчиков.
Я добавил свою swift Framework на верхний уровень моей рабочей области как в рабочей области приложения rider, так и в рабочей области приложения драйвера (путем перетаскивания в файл xcodeproj фреймворка) и прошел все процессы, о которых я читал, для создания фреймворка. к универсальному устройству и скопируйте фреймворк в реальные встроенные двоичные файлы приложения и т. д. Независимо от того, обе рабочие области приложения работают должным образом... однако... у меня есть 2 проблемы на данном этапе
- если я пытаюсь открыть оба рабочих пространства одновременно (т.е. работать в приложении rider одновременно с работой в приложении драйвера), Xcode выдает мне ошибку целостности рабочего пространства, в основном приводящую к ошибке "не удалось загрузить проект xcode (т.е. рамочный проект), потому что он уже открыт из другого проекта ". приложение все еще работает нормально, но ошибка (красная ошибка) остается. Как я могу это исправить?.
- Я хочу использовать FirebaseDatabase в самой структуре обработчика базы данных, но, несмотря на то, что FirebaseDatabase установлен в основном приложении, среда не может его увидеть, т. Е. Строка импорта FirebaseDatabase показывает "такого модуля нет". Я также попытался установить FirebaseDatabase отдельно от какао-бобов в рамках проекта и все еще получаю ту же ошибку "нет такого модуля". Как я могу получить код платформы, чтобы увидеть необходимые рамки какао-стручка
1 ответ
Наличие общего рамочного проекта вне двух проектов приложений, но включенного в их рабочие области, может вызвать проблемы. Редактирование структуры в одном рабочем пространстве может привести к поломке приложения в другом рабочем пространстве, если изменение является основным.
Я думаю, у вас есть два варианта. Один из них заключается в том, что вы храните приложение фреймворка в центральном хранилище и проверяете его в проектах приложения. Это позволяет каждому проекту приложения использовать ту версию платформы, с которой им удобно, и, если один из них изменяется, другой не увидит эти изменения, пока вы не попросите его обновить.
Другим вариантом является переключение на одно рабочее пространство с приложениями и фреймворком в нем. Эффективно сказать, что вы всегда будете работать над обоими одновременно, и они всегда будут синхронизированы.
Я не могу сказать, в чем проблема с тем, что я не нахожу платформу, так как я не использую CocoaPods, но я бы проверял все пути поиска фреймворка в настройках каждого проекта, чтобы узнать, ищут ли они правильные каталоги для скомпилированных фреймворков., Вы не должны копировать какие-либо фреймворки зависимостей в цели фреймворка, но все они должны быть скопированы в цели приложения.