本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢。
翻译:XXX 使用优化编译-步进可能会行为异常;变量可能不可用。
出现这个问题是编译优化设置不恰当造成的!
解决办法:
Build Setting -- > Optimization Level -- > 找到对应的 target 选择编译优化级别
Debug 环境一般选择:None[-O0]
注意
:如果使用cocoapods管理项目,需要对Pods 同样需要以上设置
编译优化级别介绍:
OptimizationLevel@2x.pngNone[-O0]
: 编译器不会优化代码,意味着更快的编译速度和更多的调试信息,默认在 Debug 模式下开启。
Fast[-O,O1]
: 编译器会优化代码性能并且最小限度影响编译时间,此选项在编译时会占用更多的内存。
Faster[-O2]
:编译器会开启不依赖空间/时间折衷所有优化选项。在此,编译器不会展开循环或者函数内联。此选项会增加编译时间并且提高代码执行效率。
Fastest[-O3]
:编译器会开启所有的优化选项来提升代码执行效率。此模式编译器会执行函数内联使得生成的可执行文件会变得更大。一般不推荐使用此模式。
Fastest Smallest[-Os]
:编译器会开启除了会明显增加包大小以外的所有优化选项。默认在 Release 模式下开启。
Fastest, Aggressive Optimization[-Ofast]
:启动 -O3 中的所有优化,可能会开启一些违反语言标准的一些优化选项。一般不推荐使用此模式。
Fastest Smallest[-Os]
极小限度会影响到包大小,而且也保证了代码的执行效率,是最佳的发布选项,一般 Xcode 会在 Release 下默认选择 Fastest Smallest[-Os] 选项,较老的项目可能没有自动勾选。
网友评论