消除iOS工程中的警告
2016-05-17 本文已影响43人
MisterZhai
1.使用使用编译器提供的宏来操作
#pragma clang diagnostic push
#pragma clang diagnostic ignored"-Wdeprecated-declarations"
//写在这个中间的代码,都不会被编译器提示-Wdeprecated-declarations 类型的警告
dispatch_queue_tcurrentQueue =dispatch_get_current_queue();
#pragma clang diagnostic pop
2.关闭某一个指定文件的某种指定类型的警告
1418867735947216.png双击 文件, 在其中添加 -Wno-shorten-64-to-32 (这个关键在就是让编译器忽略 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32_t' (aka 'int') 警告)
1418867761707782.png3.关闭工程中指定 类型的警告
工程的target有一个 Other Warning Flags
1418867786316385.png在其中添加 -Wno-shorten-64-to-32
1418867823201657.png4.确定警告的类型
在警告窗口,某个警告上,我们右击,显示出右键菜单,选择其中的 Reveal in Log
1418867853307660.png 1418867871817135.png其中 [-Wshorten-64-to-32],在这个括号中的就是 这种警告的类型 -W是前缀,这个前缀表示的是 打开这种类型的警告 如果我们是要关闭某种类型的警告的话, 要将 -W换成 -Wno-
这样就得到了 -Wno-shorten-64-to-32了.
对于我们使用cocoapod引入的第三方,我们可以在podfile文件中 增加一句 inhibit_all_warnings! 来要pod的工程不显示任何警告
link_with 'SecondHouseBrokerAPP','SecondHouseBrokerCOM'
platform :ios,'6.0'
inhibit_all_warnings!
pod 'CocoaAsyncSocket'
pod 'Reachability'
pod 'ProtobufObjC'
pod 'SDWebImage'
pod 'FMDB'
pod 'GPUImage'
pod 'CXPhotoBrowser'
pod 'CocoaLumberjack'