Xcode GoogleService-Info.plist:是否复制捆绑资源

Xcode GoogleService-Info.plist:是否复制捆绑资源,xcode,firebase,flutter,codemagic,Xcode,Firebase,Flutter,Codemagic,我的用户flatterflavors(dev和prod)和我各自的GoogleServices-Info.plist文件分别存在于Firebase/dev Firebase/prod文件夹中 我使用一个“构建阶段”脚本在构建时使用下面的脚本将文件复制到Runner/目录 if [ "${CONFIGURATION}" == "Debug-prod" ] || [ "${CONFIGURATION}" == "Release-prod" ] || [ "${CONFIGURATION}" == "

我的用户flatterflavors(dev和prod)和我各自的GoogleServices-Info.plist文件分别存在于Firebase/dev Firebase/prod文件夹中

我使用一个“构建阶段”脚本在构建时使用下面的脚本将文件复制到Runner/目录

if [ "${CONFIGURATION}" == "Debug-prod" ] || [ "${CONFIGURATION}" == "Release-prod" ] || [ "${CONFIGURATION}" == "Release" ]; then
cp -r "${PROJECT_DIR}/Firebase/prod/GoogleService-Info.plist" "${PROJECT_DIR}/Runner/GoogleService-Info.plist"

echo "Production plist copied"

elif [ "${CONFIGURATION}" == "Debug-dev" ] || [ "${CONFIGURATION}" == "Release-dev" ] || [ "${CONFIGURATION}" == "Debug" ]; then

cp -r "${PROJECT_DIR}/Firebase/dev/GoogleService-Info.plist" "${PROJECT_DIR}/Runner/GoogleService-Info.plist"

echo "Development plist copied"
fi
在我尝试将CI/CD与codemagic结合使用之前,一切正常

(1) 首先,我从codemagic构建中得到了这个错误(但在本地运行良好)

错误:找不到生成输入文件:>'/Users/builder/clone/ios/Runner/GoogleService Info.plist'

(2) 然后,我从Xcode目标的“复制捆绑资源”中删除了该文件。现在我得到以下错误(本地以及codemagic):

我应该保持什么样的正确设置才能使构建在本地和codemagic中工作

更新:经过一点思考,看起来(1)是正确的设置。>GoogleServices-Info.plist应该是复制包资源的一部分。>此外,Runner/GoogleServices-Info.plist必须在build>启动之前存在。因此,我在目录中放置了一个默认的plist文件,它工作了。>我的Build Phases脚本将根据样式将此默认plist文件重写为>适当的文件


经过一点思考,看起来(1)是正确的设置。GoogleServices-Info.plist应该是复制包资源的一部分


此外,在构建开始之前必须存在Runner/GoogleServices-Info.plist。因此,我在目录中放置了一个默认的plist文件,它工作了。“我的构建阶段”脚本将覆盖此默认plist文件,以>基于样式的相应文件

您是否在“构建”步骤的“构建参数”部分指定了样式?e、 g.
——风味产品-t./lib/main.dart
是的,我正在指定。构建在(1)本地运行正常。它为我解决了这个问题
error: Could not get GOOGLE_APP_ID in Google Services file from build environment