• Xcode警告忽略


    Xcode中 cmd+B 之后总会出现各种各样的警告,对于一个对代码有洁癖的人,这种情况很难忍,接下来我们用些特殊手段强制消除这些警告 

     

    一、忽略源文件中的警告

      使用编译器宏来操作

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "警告名称"
    
    // 被夹在这中间的代码针对于此警告都会忽视不会显示出来
    
    //常见警告的名称
    //1, 声明变量未使用  "-Wunused-variable"
    //2, 方法定义未实现  "-Wincomplete-implementation"
    //3, 未声明的选择器  "-Wundeclared-selector"
    //4, 参数格式不匹配  "-Wformat"
    //5, 废弃掉的方法     "-Wdeprecated-declarations"
    //6, 不会执行的代码  "-Wunreachable-code"
    
    #pragma clang diagnostic pop

      例:

    #pragma clang diagnostic push //收集当前的警告
    
    //忽略在arc 环境下performSelector产生的 leaks 的警告
    #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
    
    // 包含 performSelector 的语句
    
    #pragma clang diagnostic pop //弹出所有的警告
    

      

      当然,也可以在pch等具有大范围作用域的头文件中包含: 

        #pragma clang diagnostic ignored "警告名称"

      如果剔除了push与pop 则后面所有的代码都具有强制消除警告作用

     

      查找某一种警告名称的方法:

        打开一个工程,编译项目(不编译Reveal in Log是灰色的),切换左侧导航区域>>issue navigator,下面[]里面的字符串就是该警告的名称

      

    二、忽略工程中的警告

      在项目的 Build Settings 中也可以设置忽略某种或多种类型的警告,不过在这设置的影响范围就是整个项目的了,要三思而后行,不然就是给自己挖坑

      还是上面的例子,在 Build Settings 中找到 Custom Compiler Flags,双击 Other Warning Flags(可以配置 DebugRelease 环境),填入 -Wno-unused-variable

      完成后,编译项目,项目中所有的此类型警告都没有了。Build Settings 中项目全局忽略警告这里所填写的内容规则,仅仅是在第一种方法中找到的警告标识符中的 W 字母后面加上 no- 就可以了


     
     

    三、忽略cocoapod项目中的警告

       使用cocoapod引入的第三方,如果第三方库中有警告,可以在podfile文件中增加一句  inhibit_all_warnings!

    四、忽略.md/.mdown/.h类型警告

       将以上文件从Compile Sources中删除。路径TARGETS > Build Phases > Compile Sources 选中该类型文件删除

    参考资料(戳这里):

    >  谈谈Objective-C的警告

    >  去掉Xcode中某类型的警告

    >  Xcode项目忽略警告

    >  部分Xcode编译警告类型

  • 相关阅读:
    7种启动Spring Boot项目的方式,一次性打包说给你听
    史上最详细的docker学习手册,请收藏!
    万字长文,解密秒杀架构!(建议收藏)
    IntelliJ IDEA快捷键大全 + 动图演示,建议收藏!
    Jackson 解析 JSON 详细教程
    史上最全的Excel导入导出之easyexcel
    五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强
    IntelliJ IDEA 快捷键说明大全(中英对照、带图示详解)
    Linux vim常用操作
    密码破解.md
  • 原文地址:https://www.cnblogs.com/markstray/p/5620916.html
Copyright © 2020-2023  润新知