gpt4 book ai didi

ios - 在一个目标 (GCM) 中有两个 GoogleService-Info.plist(或更多)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:26 24 4
gpt4 key购买 nike

我正在将 GCM 集成到一个应用程序中,我们碰巧有多个针对同一目标的构建配置,其中一些使用不同的 Bundle ID(我们有不同的帐户、企业和应用程序商店),所以如果我们想在中启用 GCM 推送通知我们都需要两个不同的 GoogleService-Info.plist 文件(每个文件对应不同的 BundleID)。我无法找到一种方法来告诉 GCM sdk 从不同的命名文件而不是默认文件进行初始化。有谁知道这是否可能?

我可以想到两个解决方案,但我宁愿不这样做。- 一旦应用程序启动(或之前),将包 ID 写入 plist 文件- 使用不同的 plist 文件创建不同的目标

非常感谢。

问候,哈维尔

最佳答案

我遇到了类似的问题:Use User-Defined build settings in custom .plist file

您可以使用 Build Phase Script 将正确的 .plist 文件复制到您的位置:

  1. 创建一个新文件夹(例如:GoogleServiceInfoPlists)。
  2. 复制所有 .plist 文件(例如:GoogleService-Info-Debug.plistGoogleService-Info-Stage.plistGoogleService-Info- Prod.plist).
  3. 添加新的Run Script Phase(Xcode:Target->Build Phases->“+”按钮)
  4. 使用下面的脚本将给定环境的 .plist 文件复制(替换)到主目录(在我的例子中是 src):

    cp "${SRCROOT}/src/Resources/GoogleServiceInfoPlists/GoogleService-Info-$CONFIGURATION.plist" "${SRCROOT}/src/GoogleService-Info.plist"

请注意,src/GoogleService-Info.plist 文件必须添加到 Xcode 项目(Build Phases->Copy Bundle Resources),而 /src/Resources/GoogleServiceInfoPlists/GoogleService- Info-* 文件不一定。

关于ios - 在一个目标 (GCM) 中有两个 GoogleService-Info.plist(或更多),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36407265/

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