web-dev-qa-db-fra.com

Xcode 9 - échec de l'émission d'un en-tête précompilé

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!

26
Shubham

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

8
Shubham

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é.

12
ua24

Assurez-vous également que votre importation de "ProductModuleName-Swift.h" se trouve dans votre fichier .m et non dans votre fichier .h.

5
Harris

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":

Find implicit dependencies

Puis faites un nettoyage et construisez à nouveau.

3
Okan Yücel

de mon point de vue, j'ai résolu simplement changer l'ordre des instructions d'importation et la construction fonctionne bien.

3

Peut-être créez-vous une nouvelle cible, mais vous n’avez pas ajouté cela dans podfile

 enter image description here

3
Li Yakun

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!

2
nikdange_me

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>

1
Benzi Heler

Lorsque vous obtenez cette erreur dans le terminal lors de l'exécution de la commande xcodebuild, assurez-vous de passer -workspace YourWorkspace.xcworkspace

0
Anand

@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
0
clopex

De plus, si vous avez plusieurs cibles, n'oubliez pas d'inclure votre #imports dans chaque fichier.

0
Gabriel Oliva