zoukankan      html  css  js  c++  java
  • iOS开发消除编译警告

    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://upload-images.jianshu.io/upload_images/1798452-eec6709d4dffa4dd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    cocoPods第三方警告的消除

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


     
    Pods警告.png

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

     
     
    0人点赞
     
     


    作者:shawnr
    链接:https://www.jianshu.com/p/975e0c2a2d5b
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    ------------------越是喧嚣的世界,越需要宁静的思考------------------ 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
  • 相关阅读:
    新书推荐——《How We Test Software at Microsoft》
    [ZZ]采访与书摘:使用C#进行基于模型的软件测试和分析
    Adding Different Types of Data Sources to a Web Test
    [ZZ]为什么传统的自动化测试工具会扼杀敏捷?
    很久没有这么High了
    留图以纪念这次地震
    white——Automate windows applications
    WatiN、Wax、WatiN Test Recorder开源自动化测试框架
    绝版的T61普屏
    有感于公司搬家
  • 原文地址:https://www.cnblogs.com/feng9exe/p/15353688.html
Copyright © 2011-2022 走看看