En Xcode, ¿cómo suprimir todas las advertencias en archivos fuente específicos?

137

En mi aplicación utilizo código de terceros que activa algunas advertencias. Los revisé y pueden ignorarse con seguridad.

Ahora quiero "marcar" un archivo de alguna manera, para que Xcode no muestre ninguna advertencia para el código en ese archivo.

¿Cómo debo hacer eso?

Bobrovsky
fuente

Respuestas:

277

Seleccione su objetivo y muestre Fases de construcción. Luego ingrese el nombre del archivo en el cuadro de búsqueda, y debería verlo en la lista en la fase de compilación de fuentes. Haga doble clic en la columna Banderas del compilador para ese archivo e ingrese -wpara desactivar todas las advertencias para ese archivo.

Jon Reid
fuente
9
Hmm, esperaba -wdesactivar todas las advertencias, pero quizás el nuevo compilador no presta atención a eso. En ese caso, apague las advertencias individuales. Encuentre la advertencia en cuestión en Configuración de compilación y muestre Ayuda rápida en la vista Utilidades. Debería ver una descripción, con una -Wname-of-warningsintaxis. Anteponga "no-" al nombre y especifíquelo en Compiler Flags. Ejemplo: para desactivar -Wunused-parameterespecificar-Wno-unused-parameter
Jon Reid
14
Resulta que todo esto depende del compilador. Quiero decir, en un proyecto que usa el compilador LLVM GCC, el único -wtruco es en otro proyecto que usa el compilador GCC simple -Wno-name-of-warning.
Bobrovsky
66
Gracias por la pista, también funcionó para mí ( -wy LLVM). Realmente útil cuando incluye archivos de terceros que no desea modificar.
user826955
1
@Zammbi Dado que el código se genera automáticamente, corríjalo para generar código sin advertencias. Si no puede hacer eso, parchee automáticamente el proyecto Xcode para configurar el indicador del compilador.
Jon Reid el
11
No funciona con Swift 2 con Xcode 7.0 y Apple LLVM 7.0
King-Wizard
6

Seleccione Proyecto en el navegador izquierdo y seleccione objetivo ir a la fase de construcción y Ponga -w en la Fase de construcción del archivo de destino. Ocultará todas las advertencias del compilador ingrese la descripción de la imagen aquí

Espía
fuente
17
No funciona con Swift 2 con Xcode 7.0 y Apple LLVM 7.0
King-Wizard
2
pasar banderas de compilador clang a un compilador extranjero no funciona. quelle sorpresa ... google la bandera de advertencia para el compilador veloz y agregue eso en su lugar.
jheriko
4

Esto funciona para Xcode 10.2+ y Swift 5

Arreglo manual:

Agregue -w -Xanalyzer -analyzer-disable-all-checksal archivo problemático desde Xcode> Proyecto> Destinos> Compilar orígenes> Haga doble clic en el archivo donde desea desactivar las advertencias.

Corrección de cacaopods:

Si está intentando suprimir advertencias de un pod problemático, puede suprimir automáticamente todas las advertencias de la dependencia con la inhibit_warningsbandera en su podfile :

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

ingrese la descripción de la imagen aquí

Cal S
fuente
La solución de cocoapods funcionó de maravilla, ¡gracias!
adougies