web-dev-qa-db-fra.com

Avertissement 'myframe-Bridging-Header.h' dans Xcode 8.3

J'ai mis à jour Xcode vers la version 8.3 (8E162) et dans mon fichier de test unitaire, j'ai l'avertissement suivant:

Importation implicite de l'en-tête de pontage 'myframe-Bridging-Header.h' via Le module 'myframe' est obsolète et sera supprimé dans une version ultérieure de Swift

sur cette ligne:

@testable import myframe

Comment résoudre cet avertissement?

18
Vadim Nikolaev

Cet article m'a aidé à résoudre l'avertissement: https://bugs.Swift.org/browse/SR-3801

J'ai sélectionné: 

chaînez l'importation en ajoutant #import "App-Bridging-Header.h" à n'importe quel fichier en-tête de pontage de test unitaire existant que vous avez

17
Vadim Nikolaev

Cela n’a donc rien à voir avec cette ligne en soi (qui m’a jeté pour une boucle) et vous n’êtes pas censé la changer. Ce qui se passe, c’est que le @testable import devrait normalement importer automatiquement l’en-tête de pontage de modules également, ce qui n’est plus le cas maintenant.

Comme SR-3801 indique que la solution consiste à:

  1. importer explicitement l'en-tête de pontage d'application dans vos tests unitaires (via un paramètre de construction) ou
  2. chaînez l'importation en ajoutant #import "App-Bridging-Header.h" à tout en-tête de pontage de test d'unité existant

J'ai déjà eu un Test-Bridging-Header.h où j'ai ajouté #import "MODULE-Bridging-Header.h" dans le cadre de la solution 2, ce qui me semble préférable. Maintenant, le test ponte les chaînes d'en-tête dans l'en-tête de pont de module et l'avertissement disparaît.

4
Alper

Un cas un peu différent (cadre et pas de test unitaire): 

J'ai eu un projet combinant Swift et ObjC (ce qui signifie que j'avais déjà un en-tête de pont). Le projet a intégré un cadre tiers. L'avertissement a cédé lorsque le cadre a été ajouté (criant sur leur tête de pont). Je viens d'importer leur en-tête dans mon en-tête de pont existant :

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

Et avertissement supprimé.

Xcode 9.4.1 Swift 4.1

0
Ethan Halprin