Para inhabilitar la advertencia del compilador, voy a Proyecto -> Destino -> Configuración de compilación y agrego una bandera

-w

Para un archivo específico. Esta marca inhabilita todas las advertencias del archivo.

Pero a veces esta bandera no funciona .

Por ejemplo, cuando ejecuto la prueba, recibo advertencias para la biblioteca externa Nimble (todos estos archivos que marqué con la bandera -w):

... / Pods / Nimble / Sources / Nimble / Matchers / MatcherProtocols.swift: 15: 11: 'Matcher' está en desuso: Use to Predicate en su lugar ... / Pods / Nimble / Sources / Nimble / Matchers / Predicate.swift: 170: 22: 'Matcher' está en desuso: Use to Predicate en su lugar ... / Pods / Nimble / Sources / Nimble / Matchers / AllPass.swift: 22: 27: 'Matcher' está en desuso: Use to Predicate en su lugar ... / Pods / Nimble / Sources / Nimble / Matchers / AllPass.swift: 76: 21: El 'generador' de variables nunca fue mutado; considere cambiar a 'dejar' constante ... / Pods / Nimble / Sources / Nimble / Matchers / AsyncMatcherWrapper.swift: 41: 14: 'Matcher' está en desuso: use para predicar en su lugar

¿Qué estoy haciendo mal y cómo deshacerme de las advertencias de las bibliotecas externas en las que no tengo ninguna influencia?

10
David Silva 25 sep. 2017 a las 22:23

2 respuestas

La mejor respuesta

Solución rápida

Veo que estás usando cocoapods . Cocoapods reescribe tus configuraciones cada vez que ejecutas pod install. Por lo tanto, debe agregar esta línea en su podfile para ignorar todas las advertencias o advertencias para un grupo específico :

# example to ignore all warnings from all pods
inhibit_all_warnings!

# example to ignore warnings from a specific pod
pod 'Alamofire', :inhibit_warnings => true

NOTA: A veces es bueno ver sus advertencias y también las advertencias de su pod, para que pueda evitar problemas en el futuro.

14
Gabriel Goncalves 5 oct. 2017 a las 15:12

Según los registros de su pregunta, veo cocoapods en su proyecto. Simplemente agregue el indicador inhibit_all_warnings! a su podfile, este indicador ocultará las advertencias de compilación de bibliotecas de terceros instaladas con cocoapods.

Para obtener una descripción más detallada sobre el uso de la marca inhibit_all_warnings!, consulte la respuesta de aleación.

3
Vladimir Vishnyagov 1 oct. 2017 a las 04:20