J'ai un projet en Objective-C ainsi qu'en Swift en prenant MyProjectName-Bridging-Header.h
et j'ai également configuré l'en-tête de pontage Objective-C. J'ai également ajouté 'MyprojectName-Swift.h' dans le fichier .pch.
Cela fonctionne bien sur xcode 8.2, mais lorsque je construis mon projet à partir de xcode 9, je reçois l’erreur ci-dessous.
Échec de l’émission de l’en-tête précompilé '/Bibliothèque/Developer/Xcode/DerivedData/MyprojectName-lajanjvhqjnfjksdsndsfkads/Build/Intermediates.noindex/PrecompiledHeaders/MyprojectName-Bridging-Header-Seader-Swift_44AhJ pour ponter l'en-tête '/Documents/MyProjectLocaiton/FoneApp-Bridging-Header.h'
S'il vous plaît aidez-moi à partir de cela. Merci!
Enfin, j’ai eu la solution à ce problème . Dans mon projet, le chemin Prefix Header
n’est pas clairement défini. Plus tôt le chemin était
$ (SRCROOT) /MyPrefixHeaderFile.pch
MyPrefixHeaderFile.pch
est dans un autre dossier dans le dossier du projet, je mets donc à jour le chemin Prefix Header
vers
$ (SRCROOT) /FolderName/MyPrefixHeaderFile.pch
Lisez ceci si vous utilisez des cocoapodes dans le projet . Je viens de mettre à jour la cible de déploiement vers iOS 10 ou 11 dans mon cas, après la mise à jour des pods et de xcode, qui ont réussi le premier développement. Donc, le problème se trouvait à l’intérieur du fichier podfile où j’avais la ligne
platform :ios, '11.0'
et ma cible de déploiement dans le projet était 9.0 après avoir modifié mon podfile en plate-forme en
platform :ios, '9.0'
le projet a été corrigé.
Assurez-vous également que votre importation de "ProductModuleName-Swift.h" se trouve dans votre fichier .m et non dans votre fichier .h.
Vous pouvez essayer cette solution. J'ai résolu le même problème de cette façon.
Produit> Schéma> Modifier le schéma> Sélectionnez "Construire" dans le menu de gauche> Rechercher des dépendances implicites
Sous l'onglet de construction, cochez la case "Rechercher les dépendances implicites":
Puis faites un nettoyage et construisez à nouveau.
de mon point de vue, j'ai résolu simplement changer l'ordre des instructions d'importation et la construction fonctionne bien.
J'ai découvert que j'avais accidentellement ouvert le fichierNomProjet.xcodeproj fichier plutôt queNomProjet.xcworkspacefichier.
Ouvrez le fichier xcworkspace, le projet recommencera à fonctionner!
Ajout de ma propre situation à la boucle.
Dans mon fichier d'en-tête de pontage, disons que j'ai ajouté une importation
#import "File.h"
Dans le fichier d'en-tête File.h
, il y avait un type référencé depuis une importation qui se trouvait dans Prefix.pch; il fallait ajouter le #import manquant dans mon File.h.
Dans mon cas, j'ai eu la même erreur de compilation avec des erreurs supplémentaires telles que "Type inconnu" dans l'un de mes fichiers de projet. J'ai donc ajouté ceci au fichier problématique, et cela a été résolu instantanément.
#import <UIKit/UIKit.h>
Lorsque vous obtenez cette erreur dans le terminal lors de l'exécution de la commande xcodebuild, assurez-vous de passer -workspace YourWorkspace.xcworkspace
@Li Yakun C'est la solution si vous avez plus d'une cible dans le projet, chaque nouvelle cible dans podfile doit avoir:
target 'NEWTARGET' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for MAINTARGET
shared_pods
end
De plus, si vous avez plusieurs cibles, n'oubliez pas d'inclure votre #import
s dans chaque fichier.