打包iPhone / iPad静态库的最佳方法是什么?

时间:2010-05-10 00:06:05

标签: iphone xcode static ipad

我正在处理一些静态手机/ iPad库。我正在寻找建议的问题是打包库的最佳方法。我的目标是让在其他项目中使用库变得容易,并在构建中包含正确的库,而且问题最少。

为了使它更有趣,我目前按如下方式构建每个库的4个版本

  • armv6 / armv7 release(devices)
  • i386发布(模拟器)
  • armv6 / armv7 debug(devices)
  • i386 debug(模拟器)

发布版本和调试版本之间的区别在于调试版本包含许多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都使用项目的lbrary引用来获取库文件的名称,然后在库路径中查找该文件。因此,通过使用当前构建的类型和目标设备参数化库路径,我可以有效地自动切换。

你们觉得怎么样?有更好的方法吗?

侨 德里克

2 个答案:

答案 0 :(得分:3)

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

Managing static versioned libraries in OS X

基本思想是构建一个包含不同库版本的目录树并在它们之间切换,但也许你可以根据你的问题调整这个想法。

答案 1 :(得分:0)

经过多次游戏,我现在正在构建静态框架。这使得生活变得更加轻松。

我现在已经提出了一组脚本,对我来说,执行与maven构建完成的功能类似的一组功能。他们清理,编译,记录和打包API。