我已经构建了一个动态框架,可以在各种项目中使用。当我使用Debug构建进行开发时,一切都运行良好,但是当我构建一个发布版本时,我遇到了缺少Arm64符号的错误。该框架是作为一个通用框架构建的,在检查时它确实包含符号,不同之处在于,当编译为Release时,外部符号将更改为Non-External。
使用nm -m myframework.framework / myFramework
例如: 在debug中,sybol文件可能如下所示: (__TEXT,__ text)external [Thumb] _SomeSymbolName
但是在Release中它们看起来像这样:
(__ TEXT,__ text)非外部(是私人外部)[Thumb] _SomeSymbolName
任何想法为什么会这样?或任何会导致这种情况的构建设置?
答案 0 :(得分:1)
解决方案是禁用
"默认隐藏的符号"
在构建设置
中