在GoogleService-info.plist中构建设置用户定义的设置

时间:2015-11-04 17:57:49

标签: ios objective-c google-analytics

我有以下GoogleService-info.plist文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>TRACKING_ID</key>
    <string>$(GA_tracking_id)</string>
    <key>PLIST_VERSION</key>
    <string>1</string>
    <key>BUNDLE_ID</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</dict>
</plist>

我的部分构建设置如下所示:

enter image description here

但是,当我记录Google Analytics时,该变量未取消引用:

VERBOSE: GoogleAnalytics 3.13 -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:517): Saved hit: {
    parameters =     {
        "&av" = "1.0.0";
        "&dm" = "x86_64";
        "&ds" = app;
        "&sr" = 640x1136;
        "&t" = screenview;
        "&tid" = "$(GA_tracking_id)";
        "&ul" = "en-us";
        "&v" = 1;
        gaiVersion = "3.13";
    };
    timestamp = "2015-11-04 17:38:54 +0000";
}

我在Fabric中使用过这种策略,但那是在我的Info.plist文件中。此外,$(PRODUCT_BUNDLE_IDENTIFIER)按预期工作。如何将变量取消引用而不是打印出它的文字字符串值。

1 个答案:

答案 0 :(得分:5)

您无法在自定义plist文件中使用用户定义的设置,其中包括Google Analytics。

我在其他答案中找到了解决方法: https://stackoverflow.com/a/34070725/2192163 基本上,诀窍是创建一个运行脚本,将您的自定义plist版本复制到Google Analytics plist版本。