构build时将文件复制到XCode项目的根目录

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

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

那么,有没有办法将另一个文件复制到构build过程的根目录中。 已经试过这个和类似的,但似乎并没有工作:

在这里输入图像说明

有什么build议么?

剧本:

 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所在的正确path(从项目目录开始)
  • 您的项目中不应该有GoogleService-Info.plist文件 – 该脚本将为您创build。
  • 运行时拿一杯咖啡

您可能有兴趣阅读苹果的Xcode构build设置参考

或者:您可以使用名称为GoogleService-Info.plist两个文件,但将每个文件保存在单独的目录中。 然后你可以添加到相应的目标。 没有任何脚本。

我一直以来都是正确的,但是Destination应该被设置为Wrapper ,子path是空的。 也不需要让他们在目标中。

这个解释了Destination选项: xcode复制文件的构build阶段 – 目标选项的含义是什么?