Вот как я обработал то же самое в своем проекте.Я сохранил 4 файла GoogleService-Info.Plist с другим именем и сохранил их в папке в моем проекте.Но убедитесь, что вы не добавляете то же самое в навигатор проекта. (Таким образом, эти 4 файла будут находиться в папке моего проекта, но не в моем проекте. Короче говоря, он не будет автоматически скомпилирован.)
Теперь вам нужно добавить скрипт запуска в каждой из 4 целей, чтобы программно изменить имя каждого файла plist на требуемое имя, а затем добавить его в пакет для программного обеспечения, так что будет добавлен только один файл из 4 с требуемым именем..
Вот как это сделать выше.
- Выберите
Target1
(независимо от того, какое у вас имя цели) - Теперь выберите «Фазы сборки» вверху.доступные вкладки.
- Здесь вы увидите кнопку «+» в левом верхнем углу.Нажмите на него.
- Будет несколько опций, теперь выберите
New Run Script Phase
оттуда.В ваш список будет добавлен один новый скрипт запуска с именем Run Script
.Если вы хотите, то вы можете изменить его имя, дважды щелкнув имя.В моем случае я сохранил имя RunScriptForGooglePlist
. - Там будет
Shell
со значением /bin/sh
.И чуть ниже будет текстовое представление, где вы должны написать следующий код.Убедитесь, что вы меняете необходимые изменения имен файлов, основываясь на ваших именах plist-файлов.
Вот код для того же.
PATH_TO_GOOGLE_PLISTS="${PROJECT_DIR}/MyProjectFolder/GooglePlists"
cp -r "$PATH_TO_GOOGLE_PLISTS/GoogleService-Info-dev.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist"
Здесь,В первой строке кода я беру путь к папке, в которой хранятся все 4 файла Google Plist с 4 разными именами.
И, во второй строке, я копирую этот файл в новое место, которое является пакетом приложения моего приложения, с требуемым именем. (Как я уже упоминал сверху, поскольку мы не добавляем все эти 4 файла вbundle, поэтому они не будут скомпилированы. И пакет приложения не будет иметь этого файла. В этом сценарии вы добавляете этот требуемый файл в его требуемое местоположение с именем, которое требуется для sdk google / firebase).
Вы должны повторить выше, та же процедура для всех 4 целей, а во второй строке кода выше, просто измените имя, как требуется для данной цели.
Если вы не получили какой-либо из вышеперечисленных шагов ИЛИ он все еще не работает, просто прокомментируйте, я обязательно вам помогу.