0

我有一个要移植到 iOS 的大型(数千个文件)产品。我有一个现有的构建结构,它构建了大约 50 个静态库,然后可以由特定于平台的 [G] UI 使用。一些库是 zip、ICU 和 Xerces 等第三方工具。可移植的构建过程由 GNU autotools 管理,我创建了一些 shell 脚本来构建 i386(模拟器)、armv6 和 armv7 的代码。所有这些都是在 Apple 的 Lion 上使用 5.1 iOS SDK 和 Xcode4 完成的。

我遇到的问题是将这些库带入 Xcode4 项目很痛苦。拖放库很乏味。我一直拒绝为 Xcode 中的库创建“项目”,因为我已经有一个可以工作的跨平台构建系统。我想要一种“简单”的方式来输入库列表及其位置;我在这里的搜索显示了 Xcode3 的解决方案,但它们似乎不适用于 Xcode4。

我能够构建一个使用这些库的 iOS 应用程序,但我的问题的重点是:我如何避免所有的拖放并保留我的便携式构建结构,以便其他使用我的库的人不会撕毁他们的头发?如果这是一个仅限 iOS 的应用程序,我当然会使用 Xcode4 来处理所有事情。但由于它是多平台和“便携”的,我真的想保持过程简单,其中“简单”适用于包装的维护和使用我的库的用户/开发人员。

另一个问题可能是:我是否有一种安全的方法来生成 Xcode4 元文件,以便我的 autotools-driven-build 的最终结果看起来像一个原生 Xcode4 项目?

4

1 回答 1

1

两个想法:

1) 过去 Xcode 很好地支持 AppleScript 的情况是——我过去常常用 AppleScripts 来完成这样的任务。不过,Xcode 4 的早期版本非常缺乏这种支持。不确定您是否可以使用 4.4 执行此操作 - 您可能会在 Apple 的 listserv 组的 AppleScript 实现者列表中询问。

2)如果你把所有的库(或者链接)放在一个文件夹中,然后在 Xcode 中点击 Target,BuildPhase,Link Binary with Libraries,点击 + 键,导航到你的文件夹,然后选择所有库并点击 OK,你完成了。[好吧,几乎,然后在左侧的 GUI 窗格中,您需要再次选择它们并将它们移动到 Frameworks 文件夹中,由于这个烦人的错误,我将其保留在我的项目的顶部。]

于 2012-09-05T17:56:19.200 回答