Настройка нескольких схем в iOS вызывает несоответствие вкусов - PullRequest
5 голосов
/ 28 января 2020

У меня есть проект Flutter, я создал два отдельных проекта Firebase (не два приложения в одном проекте Firebase). Я устанавливаю две разные схемы для моего iOS приложения. У меня есть следующие команды, чтобы использовать разные проекты соответственно

1. flutter run --release --flavor prod 2. flutter run --release --flavor dev

Для разработки dev необходимо использовать проект dev, созданный в firebase, но он использует производственную базу данных firebase проект и наоборот.

Конфигурация работает правильно для Android, а не для iOS.

Я следую приведенным ниже инструкциям для iOS setup

https://www.tengio.com/blog/multiple-firebase-environments-with-flutter/ https://www.youtube.com/watch?v=gdqnxcV7_FY&feature=emb_logo

Как показано на рисунке ниже, как я настроил файл служб Google. Я проверял много раз, и я не пропускаю эти файлы, помещая prod в dev и наоборот.

Ниже приведен мой скрипт

enter image description here

enter image description here

Я также добавил файл служб Google к целям. Я также попытался снять флажок с целями для файла служб Google, но все еще оставался проблемой.

Одна вещь, которую я заметил, это то, что если я добавлю файл prod google services после файла dev google services в мой проект iOS он всегда использует среду prod независимо от вкуса. Если я добавлю dev после prod, то он использует среду разработки firebase независимо от вкуса. Даже изменение параметров сборки командной строки в xcode у меня не работает.

1 Ответ

2 голосов
/ 03 февраля 2020

GoogleService-Info.plist должен быть в каталоге проекта root. Переместите все GoogleService-Info.plist в проект root, измените их имя. например, добавьте схему к имени, например GoogleService-Info-prod.plist

и измените команду на

cp -r "$PATH_TO_GOOGLE_PLISTS/GoogleService-Info-prod.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist"

, сделайте это для всех схем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...