【发布时间】:2009-12-27 05:36:11
【问题描述】:
当我获得第 3 方静态库时,我可以在我的调试或发布版本中为模拟器和设备使用它。但是,当我在本地构建时,它是针对调试模拟器/设备或发布的。然后我必须协调我的主机应用程序以匹配库构建。如何像许多 3rd 方静态库一样创建与主机应用的所有构建版本一起使用的单个静态库构建?
【问题讨论】:
标签: iphone cocoa-touch xcode
当我获得第 3 方静态库时,我可以在我的调试或发布版本中为模拟器和设备使用它。但是,当我在本地构建时,它是针对调试模拟器/设备或发布的。然后我必须协调我的主机应用程序以匹配库构建。如何像许多 3rd 方静态库一样创建与主机应用的所有构建版本一起使用的单个静态库构建?
【问题讨论】:
标签: iphone cocoa-touch xcode
我认为 iPhone 没有为此提供“神奇”的解决方案。 我曾经寻找同样的东西没有找到任何“易于使用”的解决方案。 我能找到的最好的: http://www.clintharris.net/2009/iphone-app-shared-libraries/ 尤其是关于“胖库”的部分,指的是http://latenitesoft.blogspot.com/2008/10/iphone-programming-tips-building-unix.html 但是 MAKE 配置看起来并不容易(至少对我来说)。
我这样做的方式: 我为我需要的所有配置(例如模拟器 x86 调试和设备臂调试)分别构建静态库。这给了我两个不同的 .a 文件。 我将它们重命名为 mylibrary_arm.a 和 mylibrary_x86.a
然后,对于任何想要使用这两个库的项目,我将两个 .a 文件拖放到需要 .a 库 + .h 标头的客户端项目中,以启用这些库的使用。 然后,当我在此客户端项目中选择模拟器或设备时,编译器会选择正确的 .a 自动编译并正常运行。
所以最后,唯一无聊的阶段是 .a 本身的生成,但它们的使用非常简单,XCode 会自动调整自己。
【讨论】: