tools instalar for code swift3 xcode8

swift3 - instalar - xcode 7



Advertencia ''myframe-Bridging-Header.h'' en Xcode 8.3 (3)

Actualicé Xcode a la versión 8.3 (8E162) y en mi archivo de prueba de la unidad tengo esta advertencia:

La importación implícita del encabezado de puente ''myframe-Bridging-Header.h'' a través del módulo ''myframe'' está en desuso y se eliminará en una versión posterior de Swift

en esta linea:

@testable import myframe

¿Cómo arreglar esta advertencia?


Ese artículo me ayudó a corregir la advertencia: https://bugs.swift.org/browse/SR-3801

Yo seleccioné:

encadene la importación agregando #import "App-Bridging-Header.h" a cualquier encabezado de puente de prueba de unidad existente que tenga


Por lo tanto, no tiene nada que ver con esa línea en sí (que me lanzó en un bucle) y se supone que no debes cambiarla. Lo que está sucediendo es que la @testable import normalmente también importaría automáticamente el encabezado de puente del módulo y ahora ya no lo hace.

Como dice el https://bugs.swift.org/browse/SR-3801 , la solución es:

  1. importe explícitamente el encabezado de puente de la aplicación en sus pruebas unitarias (a través de una configuración de compilación) o
  2. encadene la importación agregando #import "App-Bridging-Header.h" a cualquier encabezado de puente de prueba de unidad existente que tenga

Ya tenía un Test-Bridging-Header.h donde agregué #import "MODULE-Bridging-Header.h" como parte de la solución 2, que creo que es preferible. Ahora las cadenas de encabezado de prueba de puente en el encabezado de puente de módulo y la advertencia desaparece.


Un poco de un caso diferente (marco y ninguna prueba de unidad):

Tuve un proyecto que combina Swift y ObjC (lo que significa que ya tenía un encabezado de puente). Proyecto integrado en un marco de terceros. La advertencia se produjo cuando se agregó el marco (gritando en el encabezado de su puente). Acabo de importar su encabezado dentro de mi encabezado de puente existente :

#import <ThirdPartyFramework/ThirdPartyFramework-Bridging-Header.h>

Y la advertencia suprimida.

Xcode 9.4.1 Swift 4.1