ios - 在 Xcode4 中使用外部构建的静态库

标签 ios xcode4 autotools

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

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

我能够构建一个使用这些库的 iOS 应用程序,但我的问题的主旨实际上是:如何避免所有拖放操作并保留我的可移植构建结构,以便其他使用我的库的人不会感到烦恼出去?如果这是一个仅限 iOS 的应用程序,我当然会使用 Xcode4 来完成所有操作。但由于它是多平台和“可移植”的,我真的希望保持过程简单,其中“简单”适用于包装的维护以及使用我的库的用户/开发人员。

另一个问题可能是:是否有一种安全的方法来生成 Xcode4 元文件,以便我的自动工具驱动构建的最终结果看起来像 native Xcode4 项目?

最佳答案

两个想法:

1) Xcode 曾经很好地支持 AppleScript - 我过去常常使用 AppleScript 来完成此类任务。不过 Xcode 4 的早期版本非常缺乏这种支持。不确定 4.4 是否可以做到这一点 - 您可能会在 Apple listserv 组的 AppleScript 实现者列表中询问。

2) 如果您将所有库(或可能是链接)放入一个文件夹中,则在 Xcode 中单击 Target、BuildPhase、Link Binary with Libraries,点击 + 键,导航到您的文件夹,然后选择所有库并点击“确定”,您就完成了。 [好吧,几乎,然后在左侧的 GUI Pane 中,您需要再次选择它们并将它们移到 Frameworks 文件夹中,由于这个烦人的错误,我将其保留在项目的顶部。]

关于ios - 在 Xcode4 中使用外部构建的静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12283417/

相关文章:

makefile - 如何在Makefile.am中写入多个 "_or_ (i.e. ||)"条件?

ios - 创建私有(private) cocoapod,git 标签问题

ios - 在两个或多个 SKSpriteNode 上同步 SKActions?

iphone - 如何将 RestKit Framework (restkit.org) 与 xCode 4 集成?

ios - 找不到 dwarfdump 命令

c++ - XCode4 不能在 <> 中包含头文件

ios - Apple Watch Kit 无法获取图像

ios - 找不到 -llib 的库。 (当当 : error: linker command failed with exit code 1 (use -v to see invocation))

c - 在 C99 中使用检查单元测试框架时出现语法错误

environment-variables - 将环境变量传递给 autoconf 的 `./configure`