启用死代码剥离是否不好?

Nat*_*n H 5 c xcode dead-code dynamic-loading ios

我的iOS项目用于dlsym动态指向可选的C库。没有该项目的可选as-in可以随我们一起运行,它只是添加了功能。

有关背景信息:在运行时在Objective-C中检测并使用可选的外部C库

问题是,XCode清除了“未使用”的库。使用dlsym方法没有直接引用我的第三方库,XCode删除了它。

我以为自己在“其他链接器标记”中找到了解决方案,在 -force_load "$(SRCROOT)/my_external.a"模拟器中效果很好。(-all_load效果也不错,但对我来说似乎太过分了)。

问题是当我移至真实设备时,此解决方法失败,并且库未加载(与相同-all_load)。

唯一起作用的是在XCode中禁用名为的功能Dead Code Stripping

问题是:禁用或建议我的客户禁用此功能真的不好吗?如果是这样,还有更好的选择吗?