我正在将GCM集成到一个应用程序中,我们碰巧有几个针对同一目标的构建配置,其中一些使用不同的Bundle ID(我们有不同的帐户,企业和appstore),所以如果我们想要启用GCM推送通知我们需要两个不同的GoogleService-Info.plist文件(每个文件用于不同的BundleID)。我找不到一种方法来告诉GCM sdk从一个不同的命名文件初始化,但是默认的。有谁知道这是否可能?
我可以想到两个解决方案,但我宁愿不这样做。 - 一旦应用程序启动(或之前),将plig文件写入plist文件 - 使用不同的plist文件创建不同的Target
非常感谢。
此致 哈维尔
答案 0 :(得分:0)
我遇到了类似的问题:Use User-Defined build settings in custom .plist file
您可以使用Build Phase Script
将正确的.plist文件复制到您所在的位置:
Run Script Phase
(Xcode:目标 - >构建阶段 - >" +"按钮)使用下面的脚本将给定环境的.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-*
文件不一定。