我可以将静态库的发布和调试版本组合成一个二进制文件吗?

时间:2013-08-05 20:47:04

标签: ios objective-c static-libraries release nsassert

我想允许第三方在调试模式下使用我们的静态库,并在开发应用程序时使用断言但我也想让他们在发布模式下使用我们的静态库,这样他们就不必提交他们的应用程序到App Store的断言。有没有办法在没有两个单独的二进制文件的情况下执行此操作,或者这种情况是否有最佳实践?

1 个答案:

答案 0 :(得分:1)

不,你不能。原因是你会得到重复的符号。通用库也没有选择,因为操作系统根据当前架构选择不同的二进制文件。

但是,您可以构建两个按名称区分的库,例如:

libFoo.a和libFoo_debug.a

并将这两个运送给您的客户。然后,客户端应用程序将简单地链接到调试和释放配置中的相应库(“其他链接器标志”中的每个构建设置)。此设置只需进行一次。

相关问题