2012-09-05 31 views
0

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

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

我能够建立一个使用这些库的iOS应用程序,但我的问题的主旨是:我如何避免所有的拖动&删除并保留我的可移植构建结构,以便使用我的库的其他人不撕掉他们的头发?如果这是一款仅适用于iOS的应用程序,那么当然,我只需使用Xcode4即可。但由于它是多平台和“便携”的,我真的希望简化这个过程,其中“简单”适用于包装的维护和与我的库一起工作的用户/开发人员。

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

回答

1

两个想法:

1)用它来是Xcode的支持AppleScript的很好的情况下 - 我用做这样的任务,的AppleScript。尽管如此,Xcode 4的早期版本还是缺乏这种支持。不知道你是否可以用4.4来完成 - 你可能会问苹果的listserv组上的AppleScript实现者列表。 2)如果你把所有的库(或者链接)放到一个文件夹中,那么在Xcode中点击Target,BuildPhase,Link Binary with Libraries,点击+键,导航到你的文件夹,然后选择所有库并点击确定,你就完成了。 [好吧,差不多,然后在左边的GUI窗格中,您需要再次选择它们并将它们移动到Frameworks文件夹中,由于这个恼人的错误,我保持在我的项目顶部。]

+0

您的步骤# 2听起来有希望;当它们是“原始”档案时,将它们放入框架是可以的吗? – UncleOp

+0

是的 - 当你点击+按钮时,你会看到库和框架。实际上,我总是添加新的框架/库。 –

+0

谢谢;看起来您实际上需要选择“目标”而不是“项目”才能进入“构建阶段”。也许AppleScript是未来的选择;现在看起来这是唯一的方法。 – UncleOp