Xcode项目忽略编译警告

优化目的

目前项目编译时,会有几百上千条编译警告,大多数警告只是开发工具和库新老版本的差异提示,对项目功能并没有影响,但是大大增加了查找报错原因的难度。因此在不影响项目原有功能的基础上,通过技术方式实现隐藏大多数无关紧要的告警提示。

优化方案

1. 忽略Cocoapods管理的三方库警告

三方库原则上不需要我们去查找问题并修改,因此可以直接忽略所有警告(极个别导致项目出现bug的三方除外)。

步骤如下:

  • Podfile添加 inhibit_all_warnings! 命令(已添加);
  • 从GitLab上拉取最新代码后,执行 pod install 即可生效,目前可以减少700条以上的警告。

2. 全局忽略某些类型的警告

全局忽略时主要还是针对本地引用的三方库警告,另外需要主要警告的类型是否会影响项目的功能,目前只忽略对代码功能没有影响警告。

步骤如下:

  • 在左侧警告列表中选中某个警告右键查看 Reveal in Log,找到warning类型,如下图:

《Xcode项目忽略编译警告》 warningLog.jpg

-W+警告类型:表示打开某种类型的警告,-Wformat打开format类型的警告
-Wno-+警告类型:表示关闭某种类型的警告,-Wno-format关闭format类型的警告

如果需要全局忽略这个告警,就需要在 Build Settings 中的 Other Warning Flags 添加 -Wno-format 字段,如下图:

《Xcode项目忽略编译警告》 addNoWarning.jpg

注意:全局忽略,虽然忽略了三方库的警告,但是也会同时忽略我们自己的代码警告,因此本次忽略主要针对对代码功能无影响的警告,但在实际开发过程中仍然需要注意代码规范,不要出现明显的代码警告类型,比如循环引用,对象未使用,弱引用,对象类型混用等等。

3. 忽略某个文件的某些类型警告

这个方法是对第二种方法的补充,比如有些警告我们只希望在三方库中忽略,而在我们自己的文件中显示,那么则可以使用这种方法,就是会比较辛苦一点,暂时未启用。方法如下:

《Xcode项目忽略编译警告》 oneNoWarning.jpg

    原文作者:Jonrencxr
    原文地址: https://www.jianshu.com/p/6e231acbebea
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞