你是不是看着开发过程中出现的一堆的警告会心情一阵烦躁,别烦躁了,看完此文章,消除警告的小尾巴。

一、SVN 操作导致的警告

1.svn删除文件后报错 ”xx“is missing from working copy
  • 使用命令sudo find 工程项目路径 -name ".svn" -exec rm -r {} \;自动找到.svn的文件进行删除
  • Command+shift+K清理项目
  • 重新打开Xcode
2.iOS开发中编译通过Success但有红色警告
  • 方法1
    Clean +build
  • 方法2
    1.打开finder Command+shift+G 组合键前往文件夹输入
    /用户/XXXX/Library/Developer/Xcode其中XXX为你的账户名
    2.进入Xcode文件夹后删除DerviedData目录 然后项目重新clean编译

二、代码警告

1. API过期 不兼容指针类型、循环引用等一般性警告

可以通过以下宏定义罩住警告的方法来消除

  • 开始
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
  • 结束
    #pragma clang diagnostic pop
    注意:ignored 的后面双引号里的内容可以通过以下方式查看
    1.选择一个警告右键,点击Reveal in Log
     
    Paste_Image.png

    2.在描述里找到带框标识符

 
Paste_Image.png

[]中的文字即是我们所需

2.Apple LLVM 8.1 Warning Group

"Missing submodule 'AVFoundation.XXXXXX'"
此类问题总结下就是AVFoundation Import Warnings after XCODE 8 upgrade
解决方法:

#import <AVFoundation/AVFoundation.h>
// delete us
//#import <AVFoundation/AVSpeechSynthesis.h>
//#import <AVFoundation/AVAudioSession.h>
3.Pointer is missing a nullability type specifier.....

很多时候编译器会因为有很多属性或者方法都要加nonnull属性时报这个警告,对此我们有2种方式
1.手动添加nullablenonnull修饰属性或方法;
2.采用宏定义
开始:NS_ASSUME_NONNULL_BEGIN结束:NS_ASSUME_NONNULL_END
这两个要配合使用,在其区间的属性都会获得nonnull属性

4.Apple Mach-O Linker (ld) Warning Group

查看警告的目录文件,然后进入
项目名字 -> targets -> Build Settings ->搜索 search path查看framework search path 、library search path 、header search path把里面没用的东西 点 减号 删掉 就行了。

5.Empty paragraph passed to 'XXXXXX' command的警告

进入项目名字 -> targets -> Build Settings ->搜索 other warningother warning Flags添加 -Wno-documentation

6.Pointer is missing a nullability type specifier..... 不能为空警告
NS_ASSUME_NONNULL_BEGIN
相关需要忽略警告的代码
NS_ASSUME_NONNULL_END

三、消除cocoaPods里第三方库的警告

消除CocoaPods警告

咱不能只会消除警告,必要的时候还需要写下警告呢,用以提醒,请看

iOS 添加警告

 

作者:crazy丶LT
链接:https://www.jianshu.com/p/a0b4bb38f143
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

iOS 去除警告 看我就够了的更多相关文章

  1. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

  2. ios CoreBluetooth 警告 is being dealloc'ed while pending connection

    ios CoreBluetooth 警告 is being dealloc'ed while pending connection CoreBluetooth[WARNING] <CBPerip ...

  3. 【原】HTTP in iOS你看我就够

    声明:本文是本人 编程小翁 原创,转载请注明. 本文同步发布在简书中,强烈建议移步简书查看,编程小翁 HTTP属于老话题了,在项目中我们经常需要往服务端发POST或者GET请求,但是对于HTTP的了解 ...

  4. HTTP in iOS你看我就够

    HTTP属于老话题了,在项目中我们经常需要往服务端发POST或者GET请求,但是对于HTTP的了解不应只局限于此.千里之行,始于足下.越想走的远,基本原理就应该了解的透彻全面一些,仅仅停留在使用ASI ...

  5. 关于iOS多线程,你看我就够了

    在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例,在实际使用中感受它们的区别.还有一点需要说明的是,这篇文章将会使 用 Swift  ...

  6. iOS去除api过期警告提示

    1.问题描述 应用最低支持版本调高,导致部分旧的代码中API出现警告. 2.解决问题 使用以下代码夹住过期的API部分代码即可解决该问题. #pragma clang diagnostic push ...

  7. iOS 数据库sqlite3.0操作--超简单--看我就够啦

    iOS客户端数据存储的方式有很多,下面主要是介绍苹果自带的sqlite3.0的使用方法. 首先导入sqlite3.0的框架.然后导入头文件#import <sqlite3.h>就行了 下面 ...

  8. iOS本地数据存取,看这里就够了

    本文授权转载,作者:hosea_zhou(简书) 应用沙盒 1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 2) ...

  9. iOS之3DTouch的使用---很简单,看我就够啦~~

    3DTouch是苹果在iOS9之后新推出的功能,功能大致可以分成两种,一种是长按app的icon,会出现以下的界面,还有一种是在app内部的某个视图上使用,效果如下图. 详细的效果也可以参见微信.微信 ...

随机推荐

  1. Json多层嵌套,要怎么提取?

    一直用Jmeter的Json Extactor,对于多层的Json嵌套,很好用,自己写代码的时候,总是遇到各种Exception 看了网上的资料,整理一下 1. 最简单的JSON提取,只有一层的时候 ...

  2. Eclipse如何快速改变主题颜色

    厌倦了Eclipse的白底黑子,我们来更换下Eclipse的主题颜色,让眼睛更舒服一点 首先先进入网址:http://eclipsecolorthemes.org/ 选择一个主题进入,点击进入如下: ...

  3. 模版层Template layer

    每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插入静态部分. 说白了,模板层就是 ...

  4. Centos修改系统语言

    使用man page帮助时,发现居然是中文的,不过想想即便英语再水,也要逼着自己去适应.于是百度找了一下修改系统语言的方法. 首先使用 locale 命令查看当前的系统语言 然后修改时一般有两种方法, ...

  5. 899F - Letters Removing

    Codeforces 899F - Letters Removing 思路:考虑一下怎么找到输入的l和r在原来串中的位置,我们想到用前缀和来找,一开始所有位置都为1,删掉后为0,那么前缀和为l的位置就 ...

  6. GitHub 中国区前 100 名到底是什么样的人?

    转一下CSDN的文章, 这里有些人挺厉害的. http://geek.csdn.net/news/detail/66000

  7. Jersey 2.x JDK 上的客户端应用

    如应用是运行在 JDK 上的话,你只需要使用 JAX-RS 中的客户端部分就可以了,这个根据你使用的客户端有所调整. 这里有一系列的模块是可以供你使用的,例如 grizzly 或 apache 或 j ...

  8. php实现频率限制

    一.前言 公司要做呼叫中心,呼叫中心为了防止骚扰,需要限制用户拨打电话的频率,比如30s只能点击一次.这样的需求是通过redis来实现的. 二.具体实现 <?php class Resource ...

  9. nyoj-677-最大流最小割

    677-碟战 内存限制:64MB 时间限制:2000ms 特判: No通过数:2 提交数:2 难度:4 题目描述: 知己知彼,百战不殆!在战争中如果被敌人掌握了自己的机密,失败是必然的.K国在一场战争 ...

  10. 最新的ES 5.0路由算法底层实现

    http://www.cnblogs.com/bonelee/p/6078947.html 里分析了ES bulk实现,其中路由代码: ShardId shardId = clusterService ...