Xcode - 系统警告处理(清除和添加)
变更记录
序号 | 录入时间 | 录入人 | 备注 |
---|---|---|---|
1 | 2016-09-19 | Alfred Jiang | - |
2 | 2017-04-09 | Alfred Jiang | 更新 CSDN - iOS编译过程的原理和应用 相关 |
方案名称
Xcode - 系统警告处理(清除和添加)
关键字
Xcode \ 添加警告 \ 清除警告 \ Warning
需求场景
- 消除系统中的编译警告
参考链接
- CocoaChina - 怎么去掉Xcode工程中的某种类型的警告
- 董铂然的博客 - iOS警告收录及科学快速的消除方法(推荐)
- CSDN - iOS编译过程的原理和应用(推荐)
- Which Clang Warning Is Generating This Message?
- NSHipster - attribute
- CSDN - iOS 合理利用Clang警告来提高代码质量
详细内容
可以通过以下三种方式添加警告
1.使用 #warning TODO
在代码中添加逻辑相关警告
2.使用 NS_DEPRECATED_IOS
添加方法版本相关警告
3.使用 __attribtue__
编译器指令
1 | //弃用API,用作API更新 |
示例:
1 | - (void)sampleWarningMethod __deprecated_msg("Unsafe method"); |
常见警告以及对应清除方法可以参考推荐链接
如果某警告实在无法清除,但是又不想让它显示,可以加入预编译指令
1 | #pragma clang diagnostic push |
这段代码的作用是
- 对当前编译环境进行压栈
- 忽略”对应预编译指令”警告
- 编译代码
- 对编译环境进行出栈
关于预编译指令的详细对应关系,可以参考这里
关于 iOS 合理利用 Clang 警告来提高代码质量相关知识,可以参考这里
效果图
(无)
备注
(无)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 宁静至远,博雅多通!