49 votes

dyld: symbole introuvable: _NSURLAuthenticationMethodClientCertificate lors de la tentative d'exécution d'une application iOS

Mon application se plante avec le message:

dyld: Symbole non trouvé: _NSURLAuthenticationMethodClientcertificate
Référencé à partir de: /var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/FER à repasser Les FORMATEURS.app/FER FORMATEURS Attendus dans: /System/Library/Frameworks/CFNetwork.cadre/CFNetwork dans /var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/FER à repasser Les FORMATEURS.app/FER FORMATEURS (lldb)

quand j'essaie de compiler et de l'Exécuter. Quand j'enlève le CFNetwork de mon projet, il fonctionne, je ne sais pas pourquoi.

Je viens d'installer Xcode6Beta et l'ouverture de mon projet. Il a été fonctionne correctement sur la Xcode5.1.

Mise à JOUR:

Il fonctionne très bien sur iOS simulator avec Xcode 6, le problème est sur mon appareil iOS 7.1.1.

Mise à JOUR 2:

La réponse sélectionnée ci-dessous a fonctionné pour moi, bien que j'ai déjà eu de la fondation de cadre explicite ajouté à mon projet, j'ai dû supprimer et ajouter de nouveau. Problème résolu, au moins, pour l'instant. :)

89voto

plluke Points 844

Modifié pour inclure deux étapes que vous devez prendre:

  1. Assurez-vous d'avoir de Fondement cadre de votre projet. (Supprimer et l'ajouter à nouveau pour être sûr).
  2. Assurez-vous que le cadre de la Fondation est avant CFNetwork.

Il semble y avoir un changement dont les en-têtes inclure ce que dans iOS8.0 (la glextensions fichier, par exemple, n'est plus dans la tête de haut). Si vous ajoutez explicitement de la Fondation de cadre à votre projet, il va construire une amende. Faire CFNetwork option sera, bien sûr, mener à l'échec et est seulement une solution pour l'erreur de construction et non pas une solution globale.

enter image description here

38voto

Warif Akhand Rishi Points 3407

J'ai eu un problème similaire avec UIAlertAction

dyld: Symbole non trouvé: _OBJC_CLASS_$_UIAlertAction Référencé d': /var/mobile/Applications/ ....app/ ... Attendu dans: /System/Library/Frameworks/UIKit.cadre/UIKit dans /var/mobile/Applications/ ....app/ ...

Rendant UIKit.frameWork Optional a résolu mon problème. Dans votre cas, je devine, ce qui rend votre CFNetwork.framework optional permettra de résoudre votre problème.

Make your <code>CFNetwork.framework</code> optional

16voto

Graham Perks Points 8103

Réorganiser en Xcode n'a pas suffi. J'utilise Cocoapods, qui crée un fichier Pods.xcconfig. Cela a une ligne OTHER_LDFLAGS. Je mets -framework Foundation comme première entrée, et cela a fait fonctionner mon projet.

 OTHER_LDFLAGS = -framework Foundation -ObjC …
 

(Attention, ce fichier est régénéré à chaque fois que vous pod update .)

11voto

lap.felix Points 138

Réorganisez vos frameworks pour avoir Foundation avant CFNetwork.

C'est une solution temporaire à quelque chose qui est évidemment un bogue dans Xcode 6.

6voto

user2620092 Points 41

J'ai rencontré ce problème précis à la WWDC. J'ai parlé à quelques ingénieurs Apple qui m'ont dit qu'il s'agissait d'un bogue dans le SDK, provoqué par le déplacement de symboles entre CFNetwork et Foundation, et qu'il serait résolu très prochainement dans la prochaine version. Vous pouvez contourner ce problème dans certains cas en jouant avec les cadres d’ordre importés, mais cela ne fonctionnera pas toujours.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X