美文网首页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消除

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

  • LLVM8 Warning开关解释及代码尝试

    年底了,又到了项目中消除warning的好时节,这里针对XCode8中LLVM8的警告开关做一个翻译和解释吧,了解...

  • Xcode关于警告AutomaticPreferredMaxLa

    Xcode关于警告AutomaticPreferredMaxLayoutWidth的消除方法 在iOS开发中,如果...

  • [WARN]Warning: Multiple build co

    xcode中 有时候会报一个警告:[WARN]Warning: Multiple build commands f...

  • 消除xcode中的警告

    或者直接忽略所有警告,在编译的源文件中加入-w,就可以去掉所有警告了

  • 关于oneway void

    在 XCode 4.2 (with LLVM):里 会弹出警告 warning: Semantic Issue: ...

  • Xcode 消除警告

    1.注释警告 2.查看警告类型 得到警告类型 如: -Wunused-variable 再w 后面加 no- 进行...

  • xcode消除警告

    本人有一点小小的强迫症,那就是,项目中,不想看到警告.没办法的是,技术不行,只能一点一点的积累了.这个会长期更新....

  • Xcode消除警告

    1、warning: no rule to process file '*.h' of type sourceco...

  • Xcode 消除警告

    在警告处插入一下代码 获取到警告的类型 先编译,编译完成后如下图oc_warn_cancle_01.png 筛选完...

网友评论

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

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