iOS 消除编译警告

对于一些处女座开发攻城狮,工程出现警告是不可原谅的。必须撸掉。可是有时候警告太多,不想改源码,并且有时候有的方法牵涉太多不好改。现在就告诉大家如何快速去除 警告

一:数据类型警告

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容