引言:
使用pods来集成第三方框架或组件估计在大部分中项目中都会碰到,然后这会带来另外一个问题,第三方代码中会出现一些编译警告,我们该如何处理呢?
1、Unlock其文件,将bug改掉?!对于有强迫症的人来讲这个确实是太难受了,但升级后又得改一次,如果警告较多的话,这还将是一个不小的工作量;
2、使用预编译指令,使开发工具自动忽略掉其中的警告,其实这也会涉及到修改第三方代码,并且如果警告类型较多,工作量也不小;
3、有没有一行代码就能搞定的事情?!好在是有的。在pods工程的Podfile中,添加一行inhibit_all_warnings!,然后pod update一下即可,轻松搞定!
1 2 3 4 | platform :ios, '8.0' inhibit_all_warnings! target 'xxxxxx' do |
再编译看看,是不是警告都没有了,整个心情都不一样了!
常见的警告类别有
1 2 3 4 5 6 7 | //常见警告的名称 //1, 声明变量未使用 "-Wunused-variable" //2, 方法定义未实现 "-Wincomplete-implementation" //3, 未声明的选择器 "-Wundeclared-selector" //4, 参数格式不匹配 "-Wformat" //5, 废弃掉的方法 "-Wdeprecated-declarations" //6, 不会执行的代码 "-Wunreachable-code" |
顺便再提一下,如果自己代码中的警告,有两种方式可以忽略:
第一、通过在Build Setting中设置Other Warning Flags来忽略全局的警告提示;
具体做法是在Build Setting中搜索Other Warning Flags,警告类型添加进去即可;
第二、如果要忽略部分代码的警告,可在代码中插入
1 2 3 4 | #pragma clang diagnostic push ?#pragma clang diagnostic ignored "警告类别" //这是代码 #pragma clang diagnostic pop |
这三句是一组,夹在中间的代码警告会被编译器所忽略;