J'obtiens cette erreur lors de la création de mon application iPhone:
ld: avertissement: dans /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library /Frameworks/UIKit.framework/UIKit, l'architecture requise i386 manquante dans le fichier
Il en va de même pour tous les frameworks de mon application. C'est très étrange car cela ne se produisait pas plus tôt.
iphone
cocoa-touch
Gabe Shahbazian
la source
la source
Réponses:
Cela se produit lorsque vous ajoutez un framework à votre projet et copiez involontairement le framework dans votre répertoire de projet.
Le correctif consiste à vérifier votre répertoire de projet (où vous stockez votre projet sur le disque) pour tous les fichiers iphone SDK * .Framework et à les supprimer.
Le projet se construira bien par la suite.
la source
J'ai eu le même problème et la solution s'est avérée être une solution facile. Sauvegardez puis ouvrez project.pbxproj (situé à l'intérieur de votre bundle de fichiers de projet) dans TextMate ou TextEdit et recherchez la section intitulée "/ * Begin XCBuildConfiguration section * /". Recherchez une clé nommée FRAMEWORK_SEARCH_PATHS et supprimez-la et son contenu (une fois par configuration de construction, je l'ai donc supprimée à deux endroits). Voici un exemple de ce que j'ai supprimé:
Mon projet est maintenant conçu pour l'appareil iPhone et l'iPhoneSimulator.
la source
Ce qui s'est passé ici, c'est que Xcode a mystérieusement ajouté une entrée "Framework Search Paths" qui pointe vers un SDK de périphérique iPhone particulier. Par exemple, le mien a été récemment défini sur:
Cela conduit le compilateur à trouver des frameworks de l'architecture incorrecte. La suppression de toutes les valeurs sous la clé «Framework Search Paths» dans les paramètres de construction de votre cible résoudra le problème.
la source
Je voulais juste mentionner que dans XCode si vous allez dans "Modifier les paramètres du projet" et trouvez "Chemins de recherche" Il y a un champ pour "Chemins de recherche du cadre". La mise à jour devrait résoudre le problème, sans avoir à pirater le fichier du projet!
À votre santé!
Jesse
la source
Vérifiez que vous n'avez pas copié le framework dans votre projet lorsque vous l'avez ajouté. Si vous l'avez copié, il ne peut pas trouver les chemins d'origine. Pour résoudre ce problème. Supprimez le framework AVFoundation de votre dossier frameworks dans votre projet, puis ajoutez-le à nouveau, mais cette fois, assurez-vous que vous n'avez pas coché la copie.
Cela l'a corrigé pour moi!
la source
la source
Si votre application est destinée à s'exécuter sur l'appareil, assurez-vous que vous n'essayez pas de l'exécuter sur le simulateur. Cela peut sembler évident, mais vérifiez quand même.
la source
Bien qu'il soit possible que quelque chose ait été supprimé, d'après mon expérience, quelque chose se fausse dans le fichier du projet. Je n'ai pas encore défini ce qu'est ce «quelque chose». J'ai eu des problèmes similaires lorsque l'installation du SDK est très bien. Il existe plusieurs options.
Tout d'abord, ajoutez tous vos fichiers à un nouveau projet. Cela semble fonctionner généralement. Une sorte de douleur, cependant.
Deuxièmement, vous pouvez cliquer avec le bouton droit sur le projet dans XCode / Get Info / Build / Library Search Paths. Ajoutez de nouveaux chemins similaires à /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/lib. Ajoutez les versions appropriées de cette chaîne pour chaque version (2.2.1, etc.) et plate-forme (simulateur ou iPhoneOS). Effectuez une action similaire pour les chemins de recherche de framework si les frameworks sont votre problème.
Troisièmement, qui est plus de travail mais plus fiable, est d'ouvrir project.pbxproj à partir de MyProject.xcodeproj (Textmate est bon pour cela). Recherchez "/ * Begin XCBuildConfiguration section * /", puis "LIBRARY_SEARCH_PATHS" et "FRAMEWORK_SEARCH_PATHS". Ajoutez ou modifiez les chemins selon vos besoins et enregistrez le fichier.
Dans tous les cas, une douleur dans les fesses, et j'aimerais sûrement en cerner la cause parce que cela s'est produit plusieurs fois. Le projet se construit bien, puis juste en place et refuse de le faire avec ce qui semble être peu de raison.
la source
"Modifier les paramètres du projet" et trouver "Chemins de recherche" Il y a un champ pour "Chemins de recherche du cadre". supprimer tout !!
la source
Cela m'est arrivé ici aussi. Grâce à un excellent partenaire, nous avons trouvé la réponse. Votre Xcode peut pointer vers le simulateur ..changez-le plutôt vers un appareil IOS .. construit en douceur après ....
la source
Exécutez la commande de fichier sur le framework à partir du terminal:
Vous devriez recevoir un message vous indiquant avec quelles architectures le binaire UIKit est compatible. Si vous ne voyez pas «i386» dans la liste, c'est que vous avez réussi à supprimer la version i386 d'UIKit, ce qui signifie que vous ne pouvez pas construire pour le simulateur. Pour résoudre ce problème, vous devrez réinstaller le SDK.
Si vous obtenez une autre erreur, j'espère que cela vous aidera à déterminer quel est le problème réel.
la source
Je veux juste vous faire savoir que dans mon cas, j'avais le même problème, j'ai réalisé que j'avais un ancien dossier Xcode appelé Xcode3.1.3 Je le renomme simplement parce que c'était une version plus ancienne et cela a fait la magie pour moi.
la source
Vérifiez les chemins de recherche de votre bibliothèque dans vos paramètres cibles. Parfois, des bibliothèques loufoques y sont entrées et cela vous donnera une erreur similaire.
Vous pouvez supprimer toutes les entrées de cette section.
la source
Je viens de vivre quelque chose de légèrement différent, car je travaille sur ma propre bibliothèque (WM_GSRecognizerLib), mais l'erreur est la même.
Ce qui se passerait: en raison de certaines mises à jour, le chemin ciblant la librairie à inclure (.a) provenait du dossier "Debug-iphoneos" (où il est généré). La compilation pour les appareils iOS génériques fonctionnait bien, mais pas pour le simulateur, se plaignant de l'architecture i386 manquante.
Ce que j'ai fait pour ce problème, c'est d'inclure également les binaires du dossier "Debug-iphonesimulator".
Cela peut aider pour ce sujet, car l'explication est ici: les périphériques nécessitent des binaires pour arm64 / armv7 / armv7s, tandis que le simulateur a besoin d'i386.
la source
Ma solution était de définir le débogage de la cible du simulateur OUI, il suffit de regarder l'état de git pour voir la nouvelle ligne ajoutée comme architecture uniquement sur .project. si vous ne définissez pas cela, la construction fonctionnera sur toutes les architectures et affichera une architecture manquante comme i386 ou autre. NOTEZ QUE, de toute évidence, le principal problème est d'utiliser un cadre qui implémente une sorte d'architecture spécifique.
la source
J'ai aussi eu la même erreur en utilisant la version 4.0.2 de xcode, donc ce que j'ai fait a été sélectionné le fichier de projet xcode et à partir de leur j'ai sélectionné l'option cible, je pouvais voir l'application de mon projet alors j'ai cliqué dessus et je suis allé à la construction option de paramètres.
Leur dans l'option de recherche, j'ai tapé le chemin de recherche de Framework , et supprimé tous les paramètres, puis j'ai cliqué sur le bouton de construction et cela a très bien fonctionné pour moi,
Merci et salutations
la source