0

我们有两个用于 Photoshop 插件的 Xcode 项目文件。一个用于 PS CS2 到 CS5 32 位,另一个用于 CS5 64 位和 CS6。我不会提到 PS Elements 等。对于 CS 和 PS 7.0,我们维护了一个单独的 Codewarrior 项目——嗯,主要是为了今天的运动。

无论如何,CS2 的 PPC 插件和通用二进制插件(PPC/Intel 32 位)是从一个 Xcode 项目构建的,而 64 位 Cocoa UI 插件是从另一个 Xcode 项目构建的。仅仅是因为 Adob​​e 从未在同一个项目文件中提供 64 位和 PPC 的示例。他们总是只是打破 SDK 中的旧版本支持来修复当前 PS 的问题。

我们这样做是为了使所有源文件都可以完全互操作。只是一堆#defines 控制我们所在的SDK PC/MAC_CW/MAC_XC/MAC_XC64 并且一切正常。所以我的问题是,是否有任何简单的方法可以合并两个 Xcode 项目文件,以便一个包含所有目标?当然,由于 PPC 版本,它仅限于与 10.6 一起使用,但我仍然想知道如何做到这一点。

4

1 回答 1

1

在我深入研究合并之前,您可能还需要考虑:从命令行以编程xcodebuild方式构建所有单个项目,而不是合并它们,或者使用 Workspaces 来包含两个项目。不过,我不确定 Workspaces 是否是 10.6 中的一个选项,所以这可能不起作用。

根据您上面的描述(最值得注意的是,您在两个项目中都使用了所有相同的文件),我建议选择现有项目之一,然后复制现有目标并对其进行修改以适应您的替代构建要求。

过去我们曾尝试对 Xcode 文件进行编程和脚本合并,但通常不值得这么麻烦,因为 Xcode 项目文件非常脆弱,并且包含许多复杂的文件引用,这些引用不容易去重复。

过程将是:

  1. 打开要用作最终项目的项目文件
  2. 在项目导航器中选择顶级项目(这应该使项目出现在主区域
  3. 选择您当前的目标
  4. 选择编辑 > 复制
  5. 使用新目标,根据需要调整设置,特别注意:产品名称、部署目标等。
  6. 从 Build Phases 选项卡中的链接对象列表中删除此平台不需要的库
  7. 使用File > Add Files...将其他库添加到项目中
  8. 将库添加到目标的构建阶段(链接)

这会有点乏味,但它会给你比尝试以编程方式执行此操作更好的结果。

于 2013-04-18T11:55:11.663 回答