J'ai téléchargé un projet depuis GitHub, puis compilé les fichiers suivants, dont certains sont écrits par OBJ-C et j'ai utilisé un en-tête de pont.
pod ‘SnapKit’
pod ‘MJRefresh’
pod ‘Alamofire’
pod ‘Kingfisher’
pod ‘MBProgressHUD’
pod ‘pop’
pod ‘EVReflection’
pod ‘StreamingKit’
pod ‘iCarousel’
pod ‘ReflectionView’
Lorsque j'exécute le projet avec Xcode 9.0 beta 2, mais malheureusement, le journal des erreurs se présente comme suit:
error: échec de l’émission de l’en-tête précompilé '/var/folders/kd/4gh0_kxx3jx4thjb_sssmmcw0000gn/T/EvoRadio-Bridging-Header-97bd5f.pch'. pour ponter l'en-tête '/Users/ringo/Downloads/EvoRadio-master/EvoRadio/Resources/EvoRadio-Bridging-Header.h'
J'ai googlé, mais pas un tel problème.L'erreur signifie qu'il a besoin d'un fichier PCH? Voici ma configuration d'en-tête .pch
: Il ne peut pas le résoudre.
Comment le faire?
J'ai également eu exactement le même problème (Xcode9 beta 6) après avoir ajouté des cabossons de cacao pour Encrypted Core Data .
Ceci est ma PodFile
:
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
pod 'EncryptedCoreData', :git => 'https://github.com/project-imas/encrypted-core-data.git'
target 'Root' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for Root
target 'RootTests' do
inherit! :search_paths
# Pods for testing
end
target 'RootUITests' do
inherit! :search_paths
# Pods for testing
end
end
Solution:
1 J'ai ajouté $(inherited) non-recursive
à Search Path -> Header Search Paths
2 Puis ajouté ${PODS_ROOT} recursive
à Search Path -> User Header Search Paths
Les deux éléments ci-dessus dans les paramètres de construction cible de mes projets.
Veuillez consulter ces réponses SO:
1 Hériter des chemins de recherche d'en-tête
2 Hériter des chemins de recherche utilisateur
Assurez-vous que vous ouvrez le bon espace de travail, sinon la Podfile
n'aura peut-être pas toutes les ressources nécessaires pour la compilation.
J'ai vu cette même erreur sur un projet qui fonctionnait bien auparavant.
J'ai découvert que j'avais accidentellement ouvert le fichier ProjectName.xcodeproj
plutôt que le fichier ProjectName.xcworkspace
. A ouvert le fichier xcworkspace
et hop, le projet fonctionnait à nouveau!
Pour moi, ce problème s'est produit lorsque j'ai ajouté une nouvelle configuration de construction et un nouveau schéma au projet existant.
La solution consistait à exécuter pod install
sur le schéma nouvellement créé. Après cela, le projet a été construit avec succès.
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.
Pour mon cas, j'avais une faute de frappe dans le dossier "Supporting FIles" au lieu de "Supporting Files".
La suppression de Podfile.lock
et la réexécution de pod install
ont résolu ce problème.
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>
J'ai eu le même scénario, assurez-vous pour le fichier A que vous avez inclus dans YourProjectName-Bridging-Header.h
D'après mon expérience, Xcode est incapable de trouver des fichiers d'en-tête pour les pods/frameworks importés dans le projet.
Mon expérience de projet avec ceci: Mise à jour de Xcode9.2 - 9.3 où de nombreux cocotiers devaient être mis à jour en raison de définitions implicites maintenant indisponibles ou obsolètes.
J'avais changé le fichier podfile pour inclure désormais 'use_frameworks!'. Suite à cela et après avoir traité d’autres problèmes de compilation, j’ai trouvé l’erreur que vous rencontrez. Je crois ajouter 'use_frameworks! empêchait certains pods prenant en charge la version antérieure à iOS 8 de compiler correctement. Mesures que j'ai prises pour résoudre ce problème:
pod deintegrate
J'ai alors pod install
encore mais le problème a persisté.
Finalement, j'ai supprimé la ligne use_frameworks dans Podfile, puis répété les étapes 1 à 3 et le projet était maintenant en mesure de trouver les fichiers d'en-tête manquants.
Il y a tellement de raisons et de choses que l'on peut faire, comme:
Le seul qui fonctionne pour moi est la réponse acceptée dans Xcode 9 - échec de l’émission de l’en-tête précompilé