ios - 我可以将静态库的发布和调试版本合并到一个二进制文件中吗?

标签 ios objective-c static-libraries release nsassert

我想允许第三方在开发应用程序时在 Debug模式下使用我们的静态库和断言,但我也想允许他们在 Release模式下使用我们的静态库,这样他们就不必提交他们的使用断言将应用程序上传到 App Store。有没有办法在没有两个单独的二进制文件的情况下做到这一点,或者是否有针对这种情况的最佳实践?

最佳答案

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

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

libFoo.a 和 libFoo_debug.a

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

关于ios - 我可以将静态库的发布和调试版本合并到一个二进制文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067427/

相关文章:

ios - 在 MDM 中更新安装在 iOS 设备中的配置文件

objective-c - 如何访问对象数组的元素

ios - 使用 UITableViewAutomaticDimension 时如何更改 UitableviewCell 中 UIView 的高度约束

ios - 当更改 Iphone 屏幕时,内容不适合 iPad 屏幕

c - gcc 静态库链接与动态链接

HTML div 未覆盖 iPhone 中的完整 100% 宽度

ios - Model View Presenter 和 iOS (Swift) 架构

iphone - 更改导航 Controller iphone的顺序

javascript - 如何在本地存储并静态提供 angularjs 库?

ios - "Allow Non-modular includes in Framework Modules"设置到底是什么?