具有不同firebase项目的Flatter iOS应用程序配置在生成环境的GOOGLE服务文件中显示错误GOOGLE_app_ID
我有3个不同的Diverenet firebase项目方案,我想用我的xcode管理它们,我已经添加了所有的配置和脚本,但最后我得到了这个错误 无法从生成环境中获取谷歌服务文件中的谷歌应用程序ID 我尝试了许多解决方案,比如在项目目录中添加一个临时文件,还使用选项配置firebase应用程序,但都不起作用。 下面是我将文件复制到direcotry的脚本具有不同firebase项目的Flatter iOS应用程序配置在生成环境的GOOGLE服务文件中显示错误GOOGLE_app_ID,ios,firebase,flutter,Ios,Firebase,Flutter,我有3个不同的Diverenet firebase项目方案,我想用我的xcode管理它们,我已经添加了所有的配置和脚本,但最后我得到了这个错误 无法从生成环境中获取谷歌服务文件中的谷歌应用程序ID 我尝试了许多解决方案,比如在项目目录中添加一个临时文件,还使用选项配置firebase应用程序,但都不起作用。 下面是我将文件复制到direcotry的脚本 if [ “${CONFIGURATION}” == “Debug-Production” ] || [ “${CONFIGURATION}”
if [ “${CONFIGURATION}” == “Debug-Production” ] || [ “${CONFIGURATION}” == “Release-Production” ] || [ “${CONFIGURATION}” == “Release” ]|| [ “${CONFIGURATION}” == “Debug” ]; then
cp -r ${PROJECT_DIR}/Firebase/Production/GoogleService-Info.plist ${PROJECT_DIR}/Runner/GoogleService-Info.plist
echo "production plist Copied"
elif [ “${CONFIGURATION}” == “Debug-Beta” ] || [ “${CONFIGURATION}” == “Release-Beta” ]; then
cp -r ${PROJECT_DIR}/Firebase/Beta/GoogleService-Info.plist ${PROJECT_DIR}/Runner/GoogleService-Info.plist
elif [ “${CONFIGURATION}” == “Debug-Test” ] || [ “${CONFIGURATION}” == “Release-Test” ]; then
cp -r ${PROJECT_DIR}/Firebase/Test/GoogleService-Info.plist ${PROJECT_DIR}/Runner/GoogleService-Info.plist
fi
这是我的构建阶段命令
任何帮助都将不胜感激。好的,我几乎工作了一整天,在尝试了所有解决方案之后,我找到了一个答案中没有提到的解决方案
- 在项目中添加一个合适的Googleservice-info.plist,并检查复制文件和目标
- 在脚本中,将cp更改为cp-r,并在粘贴文件名时从末尾删除文件名。它应该类似于
${PROJECT\u DIR}/Runner/
- 每次脚本运行时,它都会替换文件,但不会替换它拥有的权限