美文网首页iOS高级开发
Xcode中的警告warning消除

Xcode中的警告warning消除

作者: sun_glory | 来源:发表于2018-01-05 22:06 被阅读887次

    平时的开发过程当中,编译 之后总会出现各种各样的警告,对于开发者而言可以使用些特殊手段强制消除这些警告.

    一,如何查看某种警告的类型

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

    屏幕快照 2018-01-05 21.46.37.png

    有以下常见的警告类型:

    
    "-Wunused-variable"                 声明变量未使用
    
    "-Wincomplete-implementation"       方法定义未实现
    
    "-Wundeclared-selector"             未声明的选择器
    
    "-Wformat"                              参数格式不匹配
    
    "-Wdeprecated-declarations"             废弃掉的方法
    
    "-Wunreachable-code"                不会执行的代码
    
    "-Wincompatible-pointer-types"          不兼容指针类型
    
    "-Warc-retain-cycles"                           循环引用
    
    "-W#warnings"                       通过 #warning主动添加的警告
    

    二,如何消除警告

    1,自己手动改

    最直接的方式,直接找到警告的那段代码修改掉.这个方式最安全.但是工作量巨大。。。

    2,关闭源文件中的警告

    针对项目里的某一段产生警告的代码,可以将这段代码放入以下宏控制当中:

    #pragma clang diagnostic push
    //"-Wunused-variable"这里就是警告的类型
    #pragma clang diagnostic ignored "-Wunused-variable"
    int a;
    #pragma clang diagnostic pop
    

    在宏控制里的a变量不会产生黄色警告。

    也可以在作用域比较大的头文件中包含:

    #pragma clang diagnostic ignored "警告名称''
    

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

    3,忽略工程中警告

    1)

    在项目的 Build Settings 中也可以设置忽略某种或多种类型的警告,不过在这设置的影响范围就是整个项目的了.
    还是上面的例子,在 Build Settings中找到Custom Compiler Flags,双击 Other Warning Flags(可以配置 Debug 和 Release 环境),填入 -Wno-unused-variable.完成后,编译项目,项目中所有的此类型警告都没有了。Build Settings 中项目全局忽略警告这里所填写的内容规则,就是在第一种方法中找到的警告标识符中的-W字母后面加上 -Wno-就可以了.

    屏幕快照 2018-01-05 21.48.13.png
    2)关闭某一个指定文件的某种指定类型的警告

    关闭某个指定文件的某种类型的警告,Build Phases->Compile Sources,找到指定文件,双击文件,在其中添加-Wno-protocol,即使该文件中未实现代理的方法,也不会产生警告.

    屏幕快照 2018-01-05 21.49.07.png

    4,针对cocoapod引入的第三方库

    1)

    对于我们使用cocoapod引入的第三方,我们可以在podfile文件中 增加一句 inhibit_all_warnings! 来要pod的工程不显示任何警告。

    2)

    也可以针对某一个第三方库,不显示他的警告,以AFNetworking为例:

    pod 'AFNetworking', '2.6.3', :inhibit_warnings => true
    

    相关文章

      网友评论

        本文标题:Xcode中的警告warning消除

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