Rapide. Impossible de créer le module objective-c 'Alamofire'


117

Une nouvelle installation de sous-module vanille d'Alamofire, en utilisant XCode6 et en suivant les instructions vers un T. Quelque chose ici ne convient tout simplement pas. L'erreur que j'obtiens est "Impossible de construire le module objective-c" alamofire "lors de l'importation d'alamofire. Voici une capture d'écran de l'erreur que j'obtiens:

entrez la description de l'image ici Et ma configuration:

entrez la description de l'image ici



Je pense que vous devez installer alamofire selon les instructions données ici github.com/Alamofire/Alamofire
Saurabh Prajapati

l'avez-vous fait fonctionner? cela a fonctionné pour moi et après un autre "Build and run", il s'est arrêté et j'ai eu le même message d'erreur ... :(
Georg

2
Un collègue a juste eu le même message d'erreur mais la raison s'est avérée être qu'il utilisait toujours Xcode 6.1 (c'est l'ère 6.3 dans laquelle nous sommes au moment où j'écris ceci). En disant cela juste pour mémoire, si quelqu'un d'autre a du mal avec la même chose.
villapossu

Réponses:


103

Lorsque cela se produit, créez d'abord les frameworks séparément. Dans ton cas:

  • Changer le schéma en Alamofire
  • Construire ( ⌘B )
  • Revenez à votre schéma
  • Courir

3
Très bonne réponse; J'étais inconscient de changer le schéma de construction pour corriger ce genre d'erreurs!
tehprofessor

1
Merci pour l'aide.
Tidane

5
Si vous devez créer le schéma séparément, cela signifie probablement que vous n'avez pas correctement défini le framework comme dépendance cible dans les paramètres de génération de votre application. Faites cela et vous ne devriez pas avoir à le créer manuellement.
Charles A.

J'ai voté pour cela, car cela fonctionne dans Xcode. Malheureusement, cela ne fonctionnera pas si vous construisez à partir de la ligne de commande ou si vous construisez pour Release.
Eneko Alonso

Cela a résolu un problème que j'avais avec GoogleApiClient / Drive. La construction réussissait, mais dès que des modifications étaient apportées au fichier, Xcode se plaignait de l'importation.
Nick Alexander

53

Allez dans Developer / Xcode / DerivedData et supprimez le dossier de votre framework. (Ou supprimez simplement DerivedData lui-même)

Si vous avez une version de votre application dans un simulateur en cours d'exécution, vous devrez supprimer l'application à cet endroit.

Puis nettoyer et construire


Cela a fonctionné pour moi aussi, mais ensuite je rencontre plusieurs produits de commande, ce lien aidera: stackoverflow.com/questions/50718018/… .
Bhimbim

32

Ça fonctionne toujours pour moi:

  1. Quitter Xcode
  2. Supprimer ~/Library/Developer/Xcode/DerivedData
  3. Modifiez le schéma de votre framework et construisez ⌘B
  4. Modifiez le schéma de votre application et créez ⌘B

22

La suppression du dossier DerivedData et le nettoyage et la construction du projet ont résolu ce problème pour moi.


15

Essayez ce qui suit dans cet ordre et l'une des étapes devrait fonctionner.

  1. Cmd+ B- Construit l'espace de travail et devrait éventuellement construire la cible ou le module que nous voulons.

  2. Cmd+ Kpuis Cmd+ B- Nettoyer puis Construire

  3. Cmd+ Shift+ Option+ Ket Cmd+ B- Nettoyer le dossier de construction

  4. Quittez Xcode, supprimez les données dérivées, lancez Xcode et Cmd+ Shift+ Option+ Kpuis Cmd+B

C'est le moyen le plus propre possible de nettoyer les données dérivées et les autres caches de Xcode.


Pour ceux qui utilisent la synchronisation iCloud (par exemple, ayant le projet dans les documents dossier il serait facilement synchroniser sur plusieurs Mac), pour vérifier le fichier avec le nom: XXX 2.swift. Recherchez et supprimez-les tous, puis exécutez pod install.
John Pang

12

Si vous obtenez cette erreur en essayant d'importer un framework dynamique, assurez-vous que le framework est inclus dans les dépendances cibles de la cible.

Project > "Target" > Build Phases > Target Dependencies


De plus, si vous travaillez avec un autre framework développé dans le même espace de travail, assurez-vous d'ajouter le projet en tant que bibliothèque liée au lieu du fichier de framework, sinon le framework ne sera pas visible en tant que dépendance cible.
Dávid Pásztor

11

Construire propre a fonctionné pour moi.

  1. Construire propre pour Alamo
  2. Construire propre pour HTTPDemo

6

Commentez l'importation et tout le code qui l'utilise, compilez, exécutez, puis supprimez les commentaires. Cela a fonctionné pour moi ...


1

J'ai résolu ce problème dans l'un de mes projets hybrides Objective-C / Swift.

Dans votre fichier de pontage Objective-C, ajoutez la ligne suivante:

#import <Alamofire/Alamofire.h>


0

Tout pod qui n'a pas été construit peut également provoquer cette erreur. (dans mon cas, un ancien pod utilisant une syntaxe obsolète n'a pas pu être construit).

Vous pouvez essayer pod updatede mettre à jour vos pods vers la dernière version et voir comment les choses se passent.


Pour ceux qui utilisent la synchronisation iCloud (par exemple, ayant le projet dans les documents dossier il serait facilement synchroniser sur plusieurs Mac), pour vérifier le fichier avec le nom: XXX 2.swift. Recherchez et supprimez-les tous, puis exécutez pod install.
John Pang

0

Correctif fou pour ce problème - Seule solution de travail pour moi

Créez un nouveau schéma et ajoutez le framework qui affiche une erreur. Dans ce cas, «Alamofire». Exécutez tous ces schémas.

Une fois que vous avez compilé tous les schémas, la cible de votre projet fonctionnera également très bien.

Cela peut sembler une solution folle, mais une solution qui ne fonctionne que pour moi.


0

Si les architectures valides du projet Alamofire ne contiennent pas les architectures valides de votre projet, l'erreur "Impossible de construire le module objective-c .." se produit.

Ajoutez ces architectures i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64 aux « Architectures valides » du projet Alamofire dans les « Paramètres de construction ».

Créez le même appareil cible pour les deux projets. Par exemple, dans un premier temps, créez le projet Alamofire pour iPhone 8 (13.2), puis créez votre projet pour le même simulateur.

Si la construction du projet Alamofire prend très peu de temps, c'est-à-dire environ 0,5 seconde, cela signifie que le projet Alamofire se produit en erreur car l'architecture du simulateur sélectionné ne se trouve pas sur les architectures valides .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.