gpt4 book ai didi

ios - 在构建短语中处理不同的配置后找不到有效的 GoogleService-Info.plist

转载 作者:行者123 更新时间:2023-11-28 23:56:26 31 4
gpt4 key购买 nike

我正在研究使用 firebase 在 iOS 应用程序中进行标记。

我在 app、dev、prod、preprod、appStore 中有不同的配置。所以我的项目中有几个GoogleService-Info.plist。

我将它们重命名为 GoogleService-Info-Prod.plist、GoogleService-Info-Dev.plist,位于资源文件夹中。

我在项目的构建短语中添加了一个运行脚本,

cp "${SRCROOT}/Test/Resourses/Firebase/GoogleService-Info-$CONFIGURATION.plist""${SRCROOT}/Test/Resourses/Firebase/GoogleService-Info.plist"我打算cp的内容将 GoogleService-Info-blabla.plist 转换为 GoogleService-Info.plist。

但显然,我遇到了这个错误:

2018-07-02 19:05:27.295083+0200 测试 [PROD][63021:19806839] *** 由于未捕获的异常 'com.firebase.core' 而终止应用程序,原因:'[FIRApp 配置];(Swift 中的 FirebaseApp.configure())在您的项目中找不到有效的 GoogleService-Info.plist。请从https://console.firebase.google.com/下载一份.'

知道我哪里出错了吗?非常感谢您的关注。

最佳答案

我认为您的方法存在多个问题

问题 1:

我相信简单地将文件复制到文件夹不会有帮助,您需要将文件添加到项目并将其目标成员身份更改为您正在运行的特定目标。您需要在正在运行的特定目标的构建阶段将文件添加到 Copy Bundle Resources。

问题 2:

此外,尽管您已更改 GoogleService-info.plist 的文件名,Firebase 仍在查找 GoogleService-info.plist,而不是您重命名的文件,因此会发生崩溃。

正如此处提到的 github.com/firebase/quickstart-ios/issues/5 您无法更改文件名,文件必须命名为 GoogleService-info.plist。因此复制整个文件是行不通的。

可能的解决方案:

您可以做的不是复制文件,而是创建一个名为 GoogleService-info.plist 的空 plist 文件,确保您已正确勾选其目标成员资格,并将其添加到目标的复制捆绑资源中.将其他 GoogleService-Info-Configuration.plist 文件也复制到您的项目。

然后,在您的运行脚本中,读取特定 GoogleService-Info-{Configuration}.plist 中的内容,然后将文件内容复制到您的 GoogleService-info.plist

使用类似的东西

cat "${SRCROOT}/Test/Resourses/Firebase/GoogleService-Info-$CONFIGURATION.plist"  > "${SRCROOT}/Test/Resourses/Firebase/GoogleService-Info.plist"

或者正如OP在他的评论中提到的使用

cp "${SRCROOT}/Turf/Resourses/Firebase/GoogleService-Info-$CONFIGURATION.plist" "${SRCROOT}/Turf/Resourses/Firebase/GoogleService-Info.plist"

我没有测试上面粘贴的 shell 脚本,尽管它应该给你一个相当简单的想法如何解决这个问题。

关于ios - 在构建短语中处理不同的配置后找不到有效的 GoogleService-Info.plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51140943/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com