美文网首页
去除iOS项目中无用的警告

去除iOS项目中无用的警告

作者: yanhooIT | 来源:发表于2018-09-02 17:13 被阅读10次

切记不是所有警告都可以直接忽略的

  • 只屏蔽无关紧要的警告,目的是让我们更加快速找到需要修复的警告
  • 有些警告是代码编写本身有误,可能引起Bug,需要及时修复

执行代码诊断命令

  • 在Xcode中运行Build & Analyze(⌘⇧B)后你会得到的惊人结果
  • 这是Clang 的更细腻,更深沉一面的功能
  • Clang是 C / Objective-C 的前端的 LLVM 编译器。
  • Clang对 Objective-C 的语义和语法有着深刻的理解,而且更重要的原因是现在 Objective-C 已经是这样一个有能力的语言了。

打开Treat Warnings as Errors配置

  • Build Settings搜索Treat Warnings as Errors并设置为YES
  • 设置-Weverything标志
  • 这样设置后大部分项目是无法编译过的,可以有针对性的进行优化,我个人支持这个建议,并鼓励其他开发者更严肃的对待编译警告

去除pod库的警告

  • 在podfile文件中添加如下配置
# 忽略所有警告
inhibit_all_warnings!

# 忽略指定库的警告
pod 'AFNetworking', :inhibit_warnings => true
  • 然后执行:pod install

警告:Pointer is missing a nullability type specifier

  • 苹果提供了两个宏来去除此类警告
  • 使用此宏包住多个属性使其具备nonnull(不可空),然后仅对需要nullable(可空)的改下就行
NS_ASSUME_NONNULL_BEGIN
coding...
NS_ASSUME_NONNULL_END 
  • 使用方法:在.h文件的头部和尾部添加两个宏
#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN
@interface XXXModel : NSObject

@end
NS_ASSUME_NONNULL_BEGIN
  • 使用了上面的宏后出现警告Null passed to a callee that requires a non-null argument,对需要nullable(可空)的改下就可以去除此警告

打开Treat Incompatible Pointer Type Warnings as Errors开关

  • 开启后类型不兼容会报错,而不是警告

去除directory not found for option警告

  • TARGETS选在对应的项目
  • Build Settings里找到Library Search PathsFramework Search Paths删除找不到的路径即可

去除This block declaration is not a prototype警告

  • Build Settings里找到Strict Prototypes设置为NO即可

关闭工程中指定类型的警告的设置步骤

  • 选中指定类型的警告,选择Reveal in Log,如下图操作
    右键Reveal in Log查看指定类型的警告
  • 则会显示下图


    指定类型的警告
  • [-Wshorten-64-to-32]中括号中的就是警告类型
  • -W表示打开指定类型的警告
  • -Wno-表示关闭指定类型的警告
  • -W换成-Wno-变成-Wno-shorten-64-to-32
  • 将此类型的警告的忽略配置添加到Other Warning Flags中,如下图
    忽略指定类型的警告

参考资料

相关文章

  • 去除iOS项目中无用的警告

    切记不是所有警告都可以直接忽略的 只屏蔽无关紧要的警告,目的是让我们更加快速找到需要修复的警告 有些警告是代码编写...

  • iOS 去除项目中的警告

    普通的自己就能修复的警告就不讲了,主要写一些特殊的警告,帮助大家治疗一下强迫症。 注:有补充或者错误的请留言 去除...

  • iOS开发工具 --- CocoaPods使用过程中遇到的问题

    1、去除CocoaPods相关库警告 去除所有警告,在platform :ios, ‘x.0’ 的后面加入这句: ...

  • iOS warning 警告禁用与启用

    一、单个的代码块去除警告,双引号中修改对应的警告 二、项目中去除所有警告 1、code will never be...

  • iOS去除警告

    强制去除警告 单个文件去除警告 在警告处使用以下方法 或在Build Phases中文件名后加入警告类型需要将警告...

  • iOS 消除第三方警告⚠️

    iOS的去除第三库警告 1、在工程中有警告的地方,右键选择Review in log在日志中查看 2、然后就能看到...

  • 2019-07-15 iOS开发去除一些警告

    大家好,我们在iOS开发过程中会出现一些警告,怎么去除这些警告呢?对于有代码洁癖的人来说,这些警告是可以消除的。去...

  • Automatic Preferred Max Layout W

    项目中出现这个警告”Automatic Preferred Max Layout Width before iOS...

  • 【iOS】去除Xcode代码警告

    写在前面 我们的工程中,一般都会有很多警告,当然了,一般这些警告都是可以忽略的,不会影响程序正常执行。但是有些人就...

  • ios - 常用警告去除方法

    object file was built for newer iOS version (xxx) than be...

网友评论

      本文标题:去除iOS项目中无用的警告

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