你是不是看着开发过程中出现的一堆的警告会心情一阵烦躁,别烦躁了,看完此文章,消除警告的小尾巴。
一、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.打开finderCommand+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.手动添加nullable
或nonnull
修饰属性或方法;
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 warning
在other warning Flags
添加 -Wno-documentation
6.Pointer is missing a nullability type specifier..... 不能为空警告
NS_ASSUME_NONNULL_BEGIN
相关需要忽略警告的代码
NS_ASSUME_NONNULL_END
三、消除cocoaPods里第三方库的警告
咱不能只会消除警告,必要的时候还需要写下警告呢,用以提醒,请看
作者:crazy丶LT
链接:https://www.jianshu.com/p/a0b4bb38f143
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库