在构建时将文件复制到Xcode项目的根目录

时间:2015-10-14 07:12:29

标签: ios xcode google-analytics

我正在尝试在我的iOS应用中实施Google Analytics(GA)。我有两个不同的目标,它们具有不同的GA跟踪ID。 GA要求将GoogleService-Info.plist(无法重命名)文件放在app文件夹结构的根目录中。此文件包含tracking-id。但是,由于我有两个不同的目标,我需要有两个不同的跟踪ID。

我不能将两个文件命名为具有不同目标的同名文件。

那么,有没有办法在构建过程中将另一个文件复制到根目录中。尝试了这个和类似但似乎不起作用:

enter image description here

有什么建议吗?

2 个答案:

答案 0 :(得分:8)

脚本:

PLIST_FILE="CustomGoogleService-Info.plist"
PLIST_PATH="${PROJECT_DIR}/path/To/Plist/Here/${PLIST_FILE}"
cp "${PLIST_PATH}" "${CONFIGURATION_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/GoogleService-Info.plist"

说明:

  • 将此脚本添加到Build Phases
  • 的末尾
  • 将名称CustomGoogleService-Info.plist更改为您自己的
  • pathToPlistHere更改为CustomGoogleService-Info.plist所在的正确路径(从项目目录开始)
  • 您的项目中不应该有GoogleService-Info.plist个文件 - 脚本会为您创建。
  • 正在运行时拿一杯咖啡

您可能有兴趣阅读Apple's Xcode Build Setting Reference

<强>可替换地: 您可以拥有名称为GoogleService-Info.plist的2个文件,但请将每个文件保存在单独的目录中。然后你可以将每个添加到相应的目标。没有任何脚本。

答案 1 :(得分:0)

我一直都做得不错,但是Destination应该设置为Wrapper并且子路径为空。也不需要将它们放在目标中。

这个解释了目的地选项:xcode copy files build phase - what do the destination options mean exactly?