Вопрос или проблема
Firebase с expo не может найти файл службы Google для iOS.
Я пытаюсь запустить сборку eas для своего приложения expo. В моем app.json есть следующее:
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.myapp.myapp",
"googleServicesFile": "GoogleService-Info.plist"
},
У меня есть файл, зафиксированный в моем частном репозитории (позже я буду более внимателен к этому, но сейчас хочу, чтобы это сработало). Я запускаю eas build --platform ios --profile development --clear-cache
, и он говорит:
Файл, указанный в поле "ios.googleServicesFile" в вашем app.json, не зафиксирован в вашем репозитории и не будет загружен в сборщик.
Но затем я запускаю git ls-files | grep GoogleService-Info.plist
и получаю имя файла. Может быть, eas build смотрит на другую ветку? Если да, как я могу указать ему посмотреть на нужную ветку?
Я пытался запустить сборку eas с firebase и ожидал, что сборка найдет файл, который существует в моем репозитории.
Ответ или решение
Для решения вашей проблемы с eas build
в Expo-приложении, когда система не находит файл GoogleService-Info.plist
, вы можете предпринять следующие шаги:
-
Проверьте расположение файла: Убедитесь, что файл
GoogleService-Info.plist
находится в корневом каталоге вашего проекта, если вы указали его так вapp.json
. Если файл находится в другой папке, вам нужно указать правильный путь в вашемapp.json
. Например, если он находится в папкеios
, то путь должен быть"ios.googleServicesFile": "ios/GoogleService-Info.plist"
. -
Проверьте статус файла в git: Используйте команду
git status
, чтобы убедиться, что файлGoogleService-Info.plist
действительно отслеживается git и не находится в.gitignore
. Если файл игнорируется, он не будет включен в ваш репозиторий. -
Проверьте текущую ветку: Удостоверьтесь, что вы находитесь на правильной ветке, на которой этот файл должен существовать. Вы можете проверить это с помощью команды
git branch
. Если файл находится на другой ветке, переключитесь на нужную вам ветку с помощьюgit checkout <branch-name>
. -
Синхронизация с удалённым репозиторием: Если вы добавили файл, но он не был закоммичен, выполните команды:
git add GoogleService-Info.plist git commit -m "Add GoogleService-Info.plist" git push
Это обеспечит наличие файла в вашем удаленном репозитории.
-
Проверка
.gitignore
: Убедитесь, чтоGoogleService-Info.plist
не указан в вашем.gitignore
. Если он указан, уберите его из.gitignore
, добавьте файл в git и выполните коммит, как описано выше. -
Параметры сборки: В случае, если вы используете
eas build
, проверьте, нет ли у вас специфичных параметров конфигурации, влияющих на сборку, или проблемы, связанные с кешем. Вы можете также попробовать собрать с параметром--clear-cache
, чтобы убедиться, что всё собирается с нуля. - Логи и вывод: Если вышеописанные шаги не помогли, обратите внимание на вывод командной строки и логи при сборке. Это может предоставить дополнительную информацию о том, что именно идет не так.
После выполнения всех этих шагов попробуйте снова выполнить eas build --platform ios --profile development --clear-cache
. Если у вас всё еще возникают проблемы, возможно, стоит обратиться к документации Expo или посетить форумы сообщества для получения дополнительной поддержки.