web-dev-qa-db-fra.com

L'en-tête de pontage Objective-C n'est pas créé avec Xcode 8

J'essaie d'ajouter des bibliothèques Objective-C à mon projet Swift 3 (Xcode 8 IDE). Mais l'en-tête de l'interface Objective C n'est pas généré automatiquement. J'ai essayé d'ajouter l'en-tête de pontage manuellement, mais une erreur de liaison indiquant que l'en-tête de pontage .h est introuvable. Toute aide serait appréciée :)

40
Augustine P A

Voici la solution au problème. 

  • Créez un nouveau fichier d'en-tête et nommez-le ainsi: "votre nom de projet-Bridging-Header.h". Le fichier Doit être enregistré dans votre dossier de projet
  • Sélectionnez votre projet xcode -> sélectionnez votre cible de construction -> sélectionnez les paramètres de construction -> cliquez sur l'option "tout" en haut -> recherchez Swift Compiler - General
  • Sélectionnez l'élément Objective-C Bridging Header et double-cliquez sur son champ de valeur (à droite de la même ligne). Une fenêtre contextuelle apparaîtra et vous pourrez y entrer le chemin du fichier d’en-tête de pontage (suivez les étapes ci-dessous pour indiquer le chemin du fichier d’en-tête). 
  • Ouvrez le Finder et faites glisser votre fichier d'en-tête de pontage dans la fenêtre contextuelle. Maintenant, il va créer un chemin absolu pour le pont en-tête. Pour créer un chemin de liaison, vous pouvez le donner comme suit: $ (PROJECT_DIR)/$ (PROJECT_NAME)/$ (PROJECT_NAME) -Bridging-Header.h.

  • Cliquez à l'extérieur pour que la valeur soit enregistrée. Terminé!! Vous pouvez maintenant importer vos bibliothèques Objective-C (par exemple, #import "SVProgressHUD.h") dans un fichier pont et commencer à l’utiliser dans votre projet Swift.

J'espère que cela serait utile à quelqu'un. :)

139
Augustine P A

Etapes de création du fichier d'en-tête Objective C

  1. Fichier -> Nouveau -> Fichier -> Fichier d'en-tête 

  2. Nommez votre fichier d'en-tête comme ceci yourAppName-Bridging-Header

  3. Maintenant, cliquez sur votre Projet -> Paramètres de construction

  4. Passez de Basic à All

  5. Rechercher Bridging

  6. Vous obtiendrez le résultat de la recherche comme indiqué dans l'image ci-dessous

 enter image description here

après l'ajout

 enter image description here

  1. Dans ce double-clic à droite de Objective-C Bridging Header et entrez comme suit

    par exemple, votreNomApp/votreNomApp-Bridging-Header.h

  2. Vous devez importer comme suit

 enter image description here

  1. C'est tout

Bonne codage :)

Remarque:
Le fichier d'en-tête doit être directement dans le projet, c'est-à-dire. il ne doit pas être créé dans un sous-dossier

8
Ariven Nadar

Dans le cas de plusieurs cibles, assurez-vous que les classes Swift sont membres de cette cible, sinon le fichier ne sera pas généré. 
Xcode 8.3

1
Klajd Deda

Il semble plus facile de créer simplement un nouveau fichier Objective-C et de laisser Xcode s'occuper de tout le nécessaire pour tout configurer. Une fois cela fait, vous pouvez supprimer le fichier Objective-C.

  1. Clic droit dans l'explorateur de projet et choisir un nouveau fichier
  2. Fichier Objective-C sélectionné
  3. Nommez-le delete_me ou quelque chose
  4. Vous serez invité à créer un fichier de pontage et à dire oui.
  5. Supprimez le fichier que vous avez créé (peut-être delete_me.m)
0
Mr Rogers