启用死代码剥离是不是很糟糕?

时间:2014-05-01 09:32:43

标签: ios c xcode dynamic-loading dead-code

我的iOS项目使用dlsym动态指向可选的C库。项目中的可选项可以在没有它的情况下运行,只需添加功能。

有关背景信息:Detect and use optional external C library at runtime in Objective-C

问题是,XCode清理了未使用的库#34;使用dlsym表示没有对我的第三方库的直接引用,XCode将其删除。

我以为我找到了一个解决方案,在"其他Linker Flags"我补充道 -force_load "$(SRCROOT)/my_external.a"在模拟器中运行良好。 (-all_load也可以正常工作,但对我来说似乎有点过分了。)

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

唯一有效的方法是在XCode中禁用名为Dead Code Stripping的功能。

问题是:禁用或推荐我的客户禁用此功能是否真的很糟糕?如果是的话,还有更好的选择吗?

0 个答案:

没有答案