【问题标题】:How to copy and paste files in Compile Sources from one target to another?如何将编译源中的文件从一个目标复制并粘贴到另一个目标?
【发布时间】:2012-01-10 03:14:54
【问题描述】:

我有一个主要目标,其目标 -> 构建阶段 -> 编译源下包含某些文件。我正在开始一个单元测试,并希望单元测试包含与主要目标相同的文件。有没有办法将一个目标中包含的文件复制并粘贴到另一个目标?

【问题讨论】:

    标签: xcode build compilation include target


    【解决方案1】:

    是的,您可以按照以下步骤操作:

    1. 选择主目标上的所有编译源
    2. 右键单击选择并选择在项目导航器中显示 (CMD + Shift + j)。文件将在左侧窗格中被选中。
    3. 选择另一个目标。
    4. 将选定的文件从 Project Navigator 拖放到另一个目标的 Compile Sources

    Xcode 9.2 更新:

    在 Xcode 9.2 中,您一次最多只能选择 150 个项目 来使用拖放功能。如果你想复制更多的项目,你可以批量复制。

    【讨论】:

    • 在 Xcode 7 中拖放对我不起作用,但我可以在实用工具窗格的“目标成员”部分中选择目标(查看 > 实用工具 > 显示实用工具)。如果 Target Membership 部分未显示,请先尝试选择 .m 文件,然后再在 Project Navigator 中显示所选文件。
    • @Sid 在 Xcode 9.2 中,您一次最多只能选择 150 个项目 来使用拖放。如果要复制更多项目,可以分批进行。我已经更新了主要答案。
    【解决方案2】:

    您可以在“.pbxproj”文件中编辑 PBXSourcesBuildPhase 部分。 您可以通过查看“.xcodeproj”文件找到该文件(右键单击项目文件 + 显示包内容)。 找到文件后,查找“PBXSourcesBuildPhase”。找到集合后,您只需将源文件从一个目标复制/粘贴到其他目标。

    【讨论】:

    • 不太容易找到正确的目标(我在项目中有大约 20 个目标)。所以我只是将一个新的源文件放入我正在寻找的目标中,以便在 .pbxproj 文件中识别它。但有了这个,这个解决方案对我来说就像一个魅力。
    • 确实这似乎有效。当我观察到手动将文件检查到新目标时,我有点担心会生成与另一个目标中相同文件的不同文件标识符,但重复使用相同的文件似乎没有害处。
    【解决方案3】:

    您可以通过右键单击目标并选择复制来创建目标的副本。或按 Command+D。

    然后您可以根据需要修改新目标的构建设置。

    【讨论】:

    • 复制应用目标后,如何将其切换为单元测试捆绑目标?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2017-11-16
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多