Если вы разработчик iOS, работающий с Firebase и использующий Swift, вы можете столкнуться с сообщением об ошибке: «Модуль Swift FirebaseCoreInternalзависит от GoogleUtilities, который не определяет модули». Эта ошибка может немного сбить с толку, но не бойтесь! В этой статье мы выясним, что означает эта ошибка, и предложим несколько способов ее устранения.
Понимание ошибки.
Прежде чем мы углубимся в решения, давайте разберемся в сообщении об ошибке. В Swift и Xcode модуль — это автономная единица, которая инкапсулирует код и предоставляет возможность импортировать и использовать этот код в других частях вашего проекта. Сообщение об ошибке указывает, что модуль FirebaseCoreInternalиспользует другой модуль под названием GoogleUtilities, но GoogleUtilitiesне определяет модули должным образом. Это несоответствие приводит к ошибке компиляции.
Методы устранения ошибки:
-
Обновите CocoaPods.
Начните с того, что в вашей системе установлена последняя версия CocoaPods. Откройте терминал и выполните следующую команду:$ sudo gem install cocoapods -
Обновите подфайл:
ОткройтеPodfileвашего проекта и добавьте в начало следующую строку:use_frameworks!Сохраните файл и выполните в терминале следующую команду:
$ pod install -
Очистка и перестройка.
Иногда ошибку можно устранить, очистив и пересобрав проект. В Xcode перейдите к «Продукт» в строке меню, затем выберите «Очистить» и «Создать». -
Обновите модули Firebase и GoogleUtilities.
Убедитесь, что у вас установлены последние версии модулейFirebaseиGoogleUtilities. ОткройтеPodfileи обновите соответствующие строки до последних версий:pod 'Firebase' pod 'GoogleUtilities'Сохраните файл и выполните следующую команду в Терминале:
$ pod update -
Интегрируйте GoogleUtilities вручную.
Если описанные выше методы не работают, вы можете попробовать вручную интегрировать платформуGoogleUtilitiesв свой проект. Выполните следующие действия:- Загрузите платформу
GoogleUtilitiesиз официального репозитория GitHub. - Перетащите загруженную платформу в навигатор файлов вашего проекта Xcode.
- В появившемся диалоговом окне обязательно выберите параметр «Копировать элементы при необходимости» и выберите подходящие цели для вашего проекта.
- Очистите и перестройте проект.
- Загрузите платформу
Обнаружение ошибки «FirebaseCoreInternal зависит от GoogleUtilities, которая не определяет модули» может разочаровать, но с помощью методов, описанных в этой статье, вы сможете успешно ее устранить. Не забывайте обновлять CocoaPods, Firebase и GoogleUtilities и без колебаний пробуйте разные подходы, пока не найдете тот, который подходит для вашего проекта.