5

根据 Google 的文档(iOS 分析),他们希望您下载一些自动生成的 .plist 文件来配置您的应用程序。不幸的是,我有多个报表包(调试、发布)并且需要根据构建动态切换。所以我正在尝试做两件事之一:

  1. 有没有办法完全放弃 .plist 文件并动态设置所有配置?人们需要什么价值观?

-或者-

  1. 我可以更改 Google .plist 文件中的值以使用我项目的用户定义的构建设置中的变量吗?我尝试添加一个名为 GOOGLE_ANALYTICS_ID 并在 Google .plist 文件中通过 ${GOOGLE_ANALYTICS_ID} 引用它,但它并没有像我期望的那样替换值。

根据您的应用是调试还是发布,您如何动态地指示您的应用发送到不同的报表包?

4

2 回答 2

8

您应该能够放弃 .plist 文件并像这样进行设置:

#import "GAI.h"
...
GAI *gai = [GAI sharedInstance];
[gai trackerWithTrackingId:@"your GA id"];
gai.trackUncaughtExceptions = YES;  // optional
gai.logger.logLevel = kGAILogLevelVerbose;  // optional - remove for release

不要使用 GGLContext 的东西,因为它试图从 -plist 文件中获取参数。

于 2015-10-29T18:02:14.487 回答
0

遇到同样的问题。我的解决方案是为 QA​​ 和生产创建单独的构建目标,对代码中的目标特定设置使用预处理器宏,并为 facebook 应用程序 ID、捆绑 ID 等内容使用 2 个单独的 plist 文件(您可以指定哪个 plist 文件构建目标正在使用项目设置的信息选项卡)。

与 GA 相同 - 每个目标有 2 个 plist 文件,并避免命名冲突(因为如果您从 GoogleService-Info 更改 plist 名称,应用程序将崩溃) - 只需将您的 QA plist 放在单独的文件夹中,它仍然可以正常工作从那里。

不要为您的 plist 搞乱目标会员资格 :)

于 2015-12-14T09:10:10.700 回答