2011-11-03 20 views
54

me han importado el proyecto Three20 en mi proyecto, y cuando he actualizado a Xcode 4.2 con IOS 5, un montón de advertencias aparecido en el proyecto.advertencias Deshabilitar Xcode de marcos

que no se preocupan por ellos, pero hacen mucho ruido, y es fácil pasar por alto las advertencias reales en mi proyecto ahora. ¿Hay alguna manera de desactivar las advertencias para esas bibliotecas específicas?

Respuesta

138
  1. Si sus bibliotecas de terceros se añaden como un objetivo por separado, se puede comprobar Inhibit all warnings para ese objetivo específico de convertir todas las advertencias fuera.

  2. Si su biblioteca se agrega como archivos fuente sin formato a su destino actual, puede configurar -w indicador de compilación para las fuentes individuales para silenciar todas las advertencias en ellos. Tienes que ir a Build phases menú de configuración de su objetivo y establecer este indicador para cada archivo de origen en la sección Compile Sources haciendo doble clic en cada extremo archivo de entrar -w bandera. enter image description here

+12

Esto es absolutamente el enfoque correcto. No modifique el código de terceros ni apague las advertencias de forma global. Otro enfoque similar es mover el código de terceros en un proyecto separado y crear una lib estática. De esa forma puede tener su propia configuración de compilación. –

+1

De vez en cuando, me abro paso a una respuesta que desearía poder votar un par de veces. Éste es uno de esos momentos. –

+0

[Este artículo] (http://adoptioncurve.net/archives/2013/02/selectively-disabling-warnings-with-xcode-compiler-flags/) da algunos detalles adicionales sobre las banderas archivos individuales. Sugieren usar '-w -Xanalyzer -analyzer-disable-checker' – KPM

3

Si está utilizando vainas, se puede agregar esto a su PODFILE para evitar la tala advertencias:

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 
Cuestiones relacionadas