Je souhaite utiliser ma bibliothèque statique webrtc .a dans Swift. Pouvez-vous aider s'il vous plaît? J'ai lu que vous ne pouvez pas utiliser de bibliothèques statiques dans Swift, est-ce vrai?
Avez-vous résolu ce problème? Je rencontre ce problème aujourd'hui aussi, et je l'ai corrigé juste un instant. Si vous n'avez pas résolu ce problème, vous pouvez essayer les étapes ci-dessous:
p.s .: les 2 projets se trouvent dans le même espace de travail (le projet de bibliothèque statique et le projet d'application), le projet de bibliothèque statique est créé avant le projet d'application. La structure de l'espace de travail comme le montre l'image:
- Dans le projet de bibliothèque statique, tous les fichiers .h doivent être ajoutés à "Build Phases/Copy Files":
- Faites glisser le fichier de produit lib statique (le fichier .a) vers le projet d'application, voir l'image:
(chemin: "projet d'application/phases de construction/lien binaire avec des bibliothèques")
* si vous vous souciez de la marque de couleur rouge pour le fichier .a, il vous suffit de choisir le "périphérique iOS générique" comme périphérique de compilation pour reconstruire le projet de bibliothèque statique, puis de faire glisser le fichier .a vers le projet d'application ( le rouge peut être supprimé)
- Définissez le "chemin de recherche de la bibliothèque" dans votre projet d'application:
il s’agit du chemin de fichier .a dans lequel le projet a été construit: $ (USER_LIBRARY_DIR)/Developer/Xcode/DerivedData/StockApp-fkjqyvsniiauxogkivalcduqeotj/Build/Products/Debug-iphoneos
- Créez un fichier d'en-tête de pontage pour votre projet d'application et importez-y la bibliothèque statique. Dans mon cas, j'inclus "StaticLib/StaticLib.h" et "CommonFoundation/CommonFoundation.h":
- Ajoutez le chemin du fichier Bridging-Header à "Objective-C Bridging Header" de votre projet d'application:
Ceci fait, vous pouvez maintenant utiliser les fonctions des bibliothèques statiques .
Oui, vous pouvez utiliser des bibliothèques statiques dans Swift. Allez à vos phases de construction et sous "Lier binaire avec des bibliothèques" et ajoutez-les là.
Sinon, vous pouvez aller sous Paramètres de construction et dans "Chemins de recherche" ajouter la valeur "Chemins de recherche de bibliothèque" pour inclure le chemin du dossier dans lequel se trouve votre fichier .a
Vous pouvez ajouter des en-têtes pour votre bibliothèque de la même manière sous "Chemins de recherche des en-têtes".
Gardez également à l'esprit que si cette bibliothèque est écrite en Objective-C, vous aurez besoin d'un en-tête de pontage pour l'utiliser dans Swift.
Avec Xcode 9, utilisez des bibliothèques statiques prises en charge avec Swift. Vous pouvez utiliser comme utiliser dans Objective-C. Notes de publication Xcode
Xcode prend en charge les cibles de bibliothèques statiques contenant du code Swift. Le débogage d'applications qui utilisent des bibliothèques statiques Swift peut nécessiter un ensemble complet d'artefacts de construction qui se trouvent à leur emplacement d'origine.