Swift "Passerelle-En-Tête.h " file ne me permettant pas d'instancier les classes objective-C.fichiers swift
quand X-code essaie de créer un en-tête de pont automatiquement, il se bloque à chaque fois, donc j'ai suivi les instructions sur la façon de créer manuellement un en-tête de pont. (Créez-en un .h fichier, le nom -un pont-d'en-Tête.h, d'importer toutes les .vous avez besoin de fichiers h?)
Problème c'est que quand j'essaie d'instancier une classe dans la .le fichier swift qui est inclus dans cet en-tête, rien ne se passe (il dit que la classe n'existe pas) aussi, dans l'en-tête passerelle il ne semble pas la saisie semi-automatique de mes noms de fichiers lorsque j'essaie de les comprendre, m'amenant à croire somethings ne pas lier correctement.
quelqu'un A courir dans tout cela? Personne ne sait comment résoudre ce problème?
5 réponses
Vous devez l'ajouter à votre cible paramètres de construction:
dans Xcode, si vous allez dans les paramètres de construction de votre cible, et faites défiler tout le chemin vers le bas, vous trouverez une section "Swift Compiler - génération de Code".
définir "Objectif-C en-tête de pont" à
<#PROJECT_NAME>-Bridging-Header.h
Je ne suis pas sûr de la valeur correcte pour "Install Objective-C Compatibility Header", mais c'est un oui/non, donc vous pouvez basculer que si cela ne fonctionne pas à premier.
j'ai essayé de créer un en-tête de pont moi-même mais pour une raison quelconque Xcode ne l'a pas aimé. Donc j'ai supprimé mon personnalisé, importé un fichier Obj C qui a fait Xcode demander si je voulais qu'il en crée un pour moi.
j'ai cliqué oui, et ça a marché!
1) Créer un fichier appelé "FMDB-Bridging-Header.h"
dans ce fichier, tapez ce qui suit:: #import "FMDB.h"
3) Allez à Paramètres de construction - > compilateur Swift-génération de Code - ajouter à "en-tête de Pont objectif-c": FMDB-en-tête de Pont.h
ou si il a été placé à l'intérieur d'un dossier de votre projet:
Nomdossier/FMDB-André-d'en-Tête.h
- Ajouter un fichier d'en-tête à votre projet avec le nom "[your-project-name]-Bridging-Header.h
allez à Paramètres de construction > construisez des Options et définissez" le contenu intégré contient du Code Swift "à" Oui"
aller aux paramètres de construction > lier et ajouter "@executable_path / Frameworks" pour lancer la recherche Chemin
Construisez votre projet maintenant!
cela pourrait aider à définir le nom de l'en-tête de pont avec sa racine de projet, comme "MyProject/MyProject-Bridging-Header.h" dans la valeur de chaîne de caractères du compilateur Swift Build key 'Objective-C Bridging Header'