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?

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.


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í


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í


La solución de cocoapods funcionó de maravilla, ¡gracias!
— adougies
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.