我已将three20项目导入到我的项目中,当我使用iOS 5升级到Xcode 4.2时,项目中出现了一系列警告。
我不在乎它们,但是它们会发出很多噪音,现在很容易错过我项目中的任何实际警告。有没有一种方法可以为那些特定的库禁用警告?
Answers:
如果您将第三方库添加为单独的目标,则可以检查Inhibit all warnings
该特定目标以关闭所有警告。
如果将库作为纯源文件添加到当前目标,则可-w
以为单个源设置编译器标志,以使它们中的所有警告均静音。您必须转到Build phases
目标配置菜单,Compile Sources
然后通过双击每个文件结尾输入-w
标志来为每个源文件中的部分设置此标志。
-analyzer-disable-checker
为-analyzer-disable-all-checks
。
如果您使用的是Pod,可以将其添加到Podfile中以防止记录警告:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['GCC_WARN_INHIBIT_ALL_WARNINGS'] = "YES"
end
end
end
inhibit_all_warnings!
顶部:stackoverflow.com/questions/13208202/…–
如果警告来自所包含的库或框架头文件,则可以包装包含以下语句:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnullability-completeness"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
#pragma clang diagnostic pop
将警告标记放在上方的第二行。您可以通过ClangWarnings.com上的警告消息查找警告标志
如果警告来自与迦太基一起添加的框架(对我来说是Rollbar):
Carthage/Build/<platform>
拖入Xcode,将其添加到刚创建的虚拟/包装器框架中(RollbarWrapper)转到虚拟/包装器框架的构建设置(RollbarWrapper)并将“禁止所有警告”设置为“是”
接下来,将框架(滚动条)添加到应用程序目标的“框架,库和嵌入式内容”部分,并将其设置为“不嵌入”
copy-frameworks
脚本以复制Rollbar框架)