web-dev-qa-db-fra.com

XCode 5 GM Erreur de l'éditeur de liens: trop d'informations de déroulement dans la fonction anon pour l'architecture i386

Nous venons de mettre à jour XCode 5 GM, et un projet (iPhone uniquement destiné à iOS 7), construit correctement sous DP 5, donne maintenant l'erreur suivante:

ld: in /Users/dan/Documents/Projects/ImageProApp/Pods/SparkInspector/SparkInspector.framework/SparkInspector(ExplorerViewState.o), too many compact unwind infos in function anon for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Nous utilisons CocoaPods pour inclure plusieurs composants, CocoaAsyncSocket, CocoaLumberack, Spark Inspector et Accessibilité. Je suppose que si nous supprimions Spark Inspector, cette erreur ferait simplement référence à un autre composant. 

Quelqu'un peut-il recommander un correctif? Dites-moi quels sont les indicateurs du compilateur/éditeur de liens pour utiliser des informations de déroulement non compactes?

Merci,

Dan

32
dang

MISE À JOUR: Google a publié un correctif pour la bibliothèque Google Analytics https://code.google.com/p/analytics-issues/issues/detail?id=338

Voir la version v3.01 ici: https://developers.google.com/analytics/devguides/collection/ios/resources

FWIW, avec la bibliothèque Google Analytics, l’erreur de lien ne se produit que lorsque la cible de déploiement est définie sur 7.0. Si vous déplacez la cible de déploiement vers 6.1, par exemple, la liaison fonctionne sans erreur.

Pour référence, en ce qui concerne Google Ananlytics, j'ai publié un problème dans Suivi des bogues de Google .

33
Mike Vosseller

changer "la cible de déploiement iOS en une valeur inférieure à" iOS 7.0 " 

à l'intérieur

"Projet" -> Paramètres de construction -> Déploiement

a travaillé pour moi, Je suppose que cela a quelque chose à voir avec la configuration utilisée pour construire la bibliothèque externe. Je faisais face au problème avec le simulateur uniquement, une fois inclus. Jot Touch SDK 

7
Shaz

Solution de contournement: Construire pour le périphérique.

Pas vraiment une solution, mais essayez de construire votre application pour un appareil plutôt que pour un simulateur. Peut-être lié à l'introduction de 64 bits.

Je peux archiver mon application, mais lorsque j'essaie de créer/exécuter un simulateur, la liaison avec la même erreur que vous recevez est impossible.

Pour être clair, j'utilise aussi des cocoapodes.

7
ray

cette réponse peut arriver un peu tard, mais le même problème se posait avec un framework tiers. Pour une raison quelconque, nous avons ajouté le drapeau -all_load aux paramètres de construction, mais lorsque je l'ai supprimé, nous avons pu construire le projet. 

Alors allez à:

Projet -> Paramètres de construction -> Autres drapeaux de l'éditeur de liens 

et supprimez l'indicateur -all_load.

J'espère que cela t'aides.

1
dirtydanee