对于一些处女座开发攻城狮,工程出现警告是不可原谅的。必须撸掉。可是有时候警告太多,不想改源码,并且有时候有的方法牵涉太多不好改。现在就告诉大家如何快速去除 警告
一:数据类型警告
1.选中警告,点击右键,reveal in log 就能看到右边有个方括号[]里面的东西就是 这个警告对应的标示符 -复制
2.在Build Setting Compile Sources找到该文件 -粘贴
二:方法过期警告
这个比较简单,直接按住command键点击警告方法,就可进入api里。比如-sizeWithFont: 点进去后是这样的:
- (CGSize)sizeWithFont:(UIFont *)font NS_DEPRECATED_IOS(2_0, 7_0, "Use -sizeWithAttributes:") __TVOS_PROHIBITED;
"Use -sizeWithAttributes:" 这个就是替代方法。
三:终极方法
原代码不用改,只需要加上
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//这里写出现警告的代码
#pragma clang diagnostic pop
这样就消除了方法弃用的警告!
后记:在自己代码中怎么给自己的方法添加过期警告?
1.首先最常用的就是 普通警告,这也没什么好说的了
#warning TODO
2.如果是自己写的文件或第三方库,有了新的接口,然后提示旧的接口废除的话需要在方法后加上宏NS_DEPRECATED_IOS和范围
- (void)addTapAction:(SEL)tapAction target:(id)target NS_DEPRECATED_IOS(2_0, 4_0);
3.如果需要在此方法后加上带信息的警告则需要这么写
- (void)addTapAction:(SEL)tapAction target:(id)target __attribute((deprecated("这个接口会爆内存 不建议使用")));
显示的效果像这样
@end