美文网首页
iOS开发消除编译警告

iOS开发消除编译警告

作者: shawnr | 来源:发表于2018-11-01 15:35 被阅读9次

    iOS开发中的警告

    开发过程中总会不可避免的产生各种警告,警告值得开发者严禁对待。
    比如:

    • -Wnonnull警告 表示需要非空的入参
    • -Wunused-const-variable警告 表示该const修饰对象没被任何地方使用
    • -Wunused-variable警告 表示该对象没被任何地方使用
    • -Wunguarded-availability警告 表示该API已被弃用,请使用最新版本的API 等等

    但是,大多数警告能被解决后,但仍然有少部分警告是不方便、或者不能被解决的,尤其当开发SDK,或者组件模块的时候我们希望不必要的警告能被消除,不计入编译后的警告个数等,这时候苹果为我们提供了消除了警告的方法:
    我们只需要将引起警告的代码用

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "警告的类型"
    

    #pragma clang diagnostic pop
    

    包括起来就行啦
    如:

        NSInteger count = 1;
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wformat"
        NSLog(@"%d",count);
    #pragma clang diagnostic pop
    

    那么如何获取警告的类型呢
    build -> 找到buildtime界面 -> 选中对应的警告 -> 右键 -> 选择Reveal in Log -> 就能找到对应的警告类型了。

    build警告界面.png
    ![警告方法.png](https://img.haomeiwen.com/i1798452/eec6709d4dffa4dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    cocoPods第三方警告的消除

    如果想关闭第一个cocoPods引入的第三方库引起的警告,可以找到Pod对应的target在编译参数中添加 -w。注意,是小写-w, 大写-W,则是显示所有警告


    Pods警告.png

    参考:iOS开发如何消除黄色感叹号

    相关文章

      网友评论

          本文标题:iOS开发消除编译警告

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