gpt4 book ai didi

ios - 在自定义 .plist 文件中使用用户定义的build设置

转载 作者:IT王子 更新时间:2023-10-29 08:08:14 25 4
gpt4 key购买 nike

我为我的应用程序定义了不同的构建配置(调试、阶段、生产),并且我使用用户定义build设置:

enter image description here

Info.plist 文件中设置 Facebook 登录和其他内容:

enter image description here

在这种情况下,$(USER_DEFINED_SETTINGS) 符号可以工作。

当我尝试设置 Google SignIn 时,这需要使用额外的 .plist 文件 (GoogleService-Info.plist),并且我以与我在 Info.plist 文件中相同的方式使用 User-Defined 设置,它不起作用。

如何在自定义 .plist 文件中使用 User-Defined 设置?如果我不能,我该如何解决这个问题?

最佳答案

不能自定义.plist 文件中使用用户定义设置。

但是您可以在构建应用程序时将自定义 .plist 文件复制到正确的位置:

  1. 创建一个新文件夹(例如:Resources/GoogleServiceInfoPlists)。

  2. 将构建配置的所有 .plist 文件复制到那里。例如:

  3. GoogleService-Info-Debug.plist

  4. GoogleService-Info-Stage.plist

  5. GoogleService-Info-Prod.plist

  6. 添加新的Run Script Phase - Xcode:Target-->Build Phases-->“+”按钮(左上角)。

  7. 使用下面的脚本将给定构建配置的 .plist 文件复制(替换)到项目目录:

    cp "${SRCROOT}/${PRODUCT_NAME}/Resources/GoogleServiceInfoPlists/GoogleService-Info-$CONFIGURATION.plist" "${SRCROOT}/${PRODUCT_NAME}/GoogleService-Info.plist"
  8. 在输出文件下,您可能还应该输入目标文件,以确保下一阶段仅在文件实际复制后才开始。

    "${SRCROOT}/${PRODUCT_NAME}/GoogleService-Info.plist"
  9. 重要:将新添加的脚本移动到 之前 Copy Bundle Resources 阶段,否则它将使用默认文件,忽略替换文件。

使用的变量/路径:

${SRCROOT} - 预定义,它指向您的项目位置。

${PRODUCT_NAME} - 预定义的产品名称。

$CONFIGURATION - 预定义,这是您的构建配置。默认情况下,它是:DebugRelease。在我的例子中:DebugStageProd。您可以在 Xcode 中更改构建配置:Project(不是 Target!)-->Info

注意:

GoogleService-Info.plist 文件必须添加到 Xcode 项目资源(Build Phases-->Copy Bundle Resource),同时Resources/GoogleServiceInfoPlists/GoogleService-Info-* 文件不一定。

如果以上方法不起作用,请尝试单击您的 disired .plist 文件 > 文件检查器 > 目标成员资格 > 检查您的主项目,以便将其捆绑在一起作为最终输出。

关于ios - 在自定义 .plist 文件中使用用户定义的build设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34067120/

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