美文网首页iOS
Xcode之Analyze静态分析

Xcode之Analyze静态分析

作者: 会飞的猪X | 来源:发表于2018-09-20 00:40 被阅读275次

    今天用Xcode自带工具Analyze检测了自己正在做的项目,下面是遇到的问题以及解决方法。

    Analyze静态分析

    操作:在Xcode 选项栏里面选择Product -> Analyze,点击运行即可。

    分析出651问题

    我们来具体看看有哪些问题

    问题列表

    1、Localizability Issue (Apple) 

    大概意思是:1、这里是非本地化的文字 2、面向用户的文本应使用本地化的字符串宏

    别慌,下图是 Xcode检测到缺少本地化~~~ 请看下面解决办法

    检查文字本地化

    解决方法:在 Build Settings 里面找到 Missing Localizability(缺少本地化) 设置为NO,就会忽略这个问题啦,  或者 , 你也可以在应用里面进行本地化。

    解决办法

    2、Dead store  

    无效数据: 意思就是有一些属性或者对象初始化了又没被使用

    问题代码

    解决方法:去掉初始化方法,直接赋值

    解决代码

    3、Logic error 逻辑错误

    Converting a pointer value of type 'NSNumber *' to a primitive boolean value;instead,either compare the pointer to nil or call -boolValue(将类型为“NSNumber *”的指针值转换为原始布尔值; 相反,要么将指针与nil进行比较,要么调用-boolValue)

    逻辑错误

    问题:使用NSNumber作为判断条件的时候,没有指定类型,编译器不知道怎么判断

    解决办法:指定 NSNumber 对象与 nil 进行比较

    解决方法

    4、Memory error 内存错误

    nil passed to a callee that requires a non-null 1st parameter(nil传递给需要非null第一个参数的被调用者)

    错误

    问题:param 可能为nil 

    解决办法:通常这种情况下,只需要添加一个非空判断,保证传入的参数不为空即可

    5、Core Foundation/Objective-C

    1.假设条件不成立 2.在未设置为'[(超级或自我)初始化...]的结果时返回“自我”

    解决:去掉一个“=” 号,或者把 self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 提出来放 if 条件前面

    这些就是我遇到的问题,其他的问题后续遇到再补充...

    相关文章

      网友评论

        本文标题:Xcode之Analyze静态分析

        本文链接:https://www.haomeiwen.com/subject/jfopiftx.html