如何最佳打包iPhone/iPad静态库?

3
我正在开发几个静态的Phone/iPad库。我需要建议关于如何最佳打包这些库的问题。我的目标是使其他项目能够轻松使用这些库,并以最小的问题将正确的库包含到构建中。
为了让问题更有趣,我当前构建每个库的4个版本,如下所示:
- armv6/armv7发布版(设备) - i386发布版(模拟器) - armv6/armv7调试版(设备) - i386调试版(模拟器)
发布版和调试版之间的区别在于,调试版包含大量NSLog(...)代码,这使人们可以看到内部的情况以帮助调试。
目前,当我构建整个项目时,我将库分成两个目录,如下所示:
release
    lib-device.a
    lib-simulator.a
debug
    lib-device.a
    lib-simulator.a

这个方法可以用,但是当它被应用到项目中时,两个路径都会被添加到库搜索路径中,而且在不同的目标之间切换会很麻烦。或者我最终会得到两个目标。

我考虑的另一种选择是像这样更改目录:

release
    device
        lib.a
    simulator
        lib.a
debug
    device
        lib.a
    simulator
        lib.a

在使用XCode时,似乎所有的XCode都使用项目的库引用来获取库文件的名称,然后在库路径中查找该名称。因此,通过将库路径参数化为当前构建类型和目标设备,我可以有效地自动切换。

你们认为呢?有更好的方法吗?

ciao Derek

2个回答

3

一段时间前我写了这篇文章:

在OS X中管理静态版本库

基本思路是构建一个包含不同库版本的目录树,并在它们之间进行切换,但也许你可以将这个思路适应到你的问题上。


0

经过一番尝试,我现在开始构建静态框架。这样做可以让生活变得更加轻松。

我现在已经编写了一组脚本,它们对我来说执行了类似于Maven构建所完成的一系列功能。它们清理、编译、文档化并打包API。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接