我正在为产品使用一个构建方案,一个用于暂存(具有 2 个不同的包标识符),我正在尝试为每个方案使用一个单独的 GoogleService-Info.plist。 有什么方法可以手动选择初始化 GCM(和 goole 登录)时使用的 plist 文件?或者是否可以避免使用 plist 并手动进行设置?
谢谢!
最佳答案
详情
测试于:
- Xcode 9.2
- Xcode 10.2 (10E125)
- Xcode 11.0 (11A420a)
解决方案
- 在项目中创建包含所有 Google.plist 文件(具有不同名称)的文件夹
- 添加运行脚本
Do not forget to change PATH_TO_GOOGLE_PLISTS value
代码
PATH_TO_GOOGLE_PLISTS="${PROJECT_DIR}/SM2/Application/Firebase"
case "${CONFIGURATION}" in
"Debug_Staging" | "AdHoc_Staging" )
cp -r "$PATH_TO_GOOGLE_PLISTS/GoogleService-Info-dev.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist" ;;
"Debug_Poduction" | "AdHoc_Poduction" | "Distribution" | "Test_Poduction" )
cp -r "$PATH_TO_GOOGLE_PLISTS/GoogleService-Info-prod.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/GoogleService-Info.plist" ;;
*)
;;
esac
Build schemes names
关于ios - 为不同的构建方案使用不同的 GoogleService-Info.plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37615405/