Kai*_*zay 21 xcode swift xcode6
以前使用objective-c代码,我可以"分析" - CMD + Shift + B和Xcode会警告我各种各样的错误行为.
看来用Swift,我没有错!没有任何警告!但很明显我的代码中存在内存泄漏.
是否有一些设置我必须启用Swift来正确分析我的代码?(我知道我应该使用探查器并在实际设备上进行测试,但是我想知道为什么"分析"没有做任何事情.
Şaf*_*zer 15
很不幸的是,不行.即使很多版本以后,最新版本的XCode(6.4)仍然无法做Swift分析."Analyze"选项仅适用于项目中的Objective C文件.
让我们希望下一个版本将拥有它,以及重构功能,这些功能仍然仅限于Objective C代码.
到目前为止(Xcode 8.3.x)静态代码分析将跳过Swift代码。一些Swift警告涵盖了分析仪先前检测到的一些问题。
另外,即将发布的Xcode 9(在WWDC 2017中提供)也没有宣布朝这个方向进行任何更改。
实际的Swift语言在很大程度上避免了Obj-C的静态分析器检测到的许多问题(例如,switch语句中的意外下降)。以前由分析器捕获的其他问题和方案现在由Swift编译器直接捕获。
导致程序崩溃的许多流程和场景-(例如,访问空指针,悬空指针或访问已释放的内存块)在Swift中几乎是不可能的。快速的强类型输入,大量使用可选选项,完全覆盖协议的要求以及枚举转换情况等,消除了分析仪先前发现的其他问题。
Swift静态代码分析器将需要在分析程序逻辑方面再上一个台阶,这要困难得多,并且理论上不可能完全做到。
所以-尽管我很高兴想到将来的Xcode Analyzer,但我不会屏住呼吸等待它
| 归档时间: |
|
| 查看次数: |
5986 次 |
| 最近记录: |