Mon application plante avec le message:
dyld: symbole introuvable: _NSURLAuthenticationMethodClientCertificate
Référencé dans:/var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS Attendu dans: /System/Library/Frameworks/CFNetwork.fr/CFNetwork.fr/CFNetwork/CFNetwork/CFNetwork/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS (lldb)
quand j'essaie de construire et de courir. Lorsque je supprime le réseau CFNetwork de mon projet, cela fonctionne, je ne sais pas pourquoi.
Je viens d'installer Xcode6Beta et d'ouvrir mon projet. Cela fonctionnait bien sur Xcode5.1.
MISE À JOUR:
Cela fonctionne bien sur le simulateur iOS avec Xcode 6, le problème est sur mon appareil sous iOS 7.1.1.
MISE À JOUR 2:
La réponse sélectionnée ci-dessous a fonctionné pour moi, même si j'avais déjà ajouté explicitement le cadre de base à mon projet, je devais le supprimer et l'ajouter à nouveau. Problème résolu, au moins, pour le moment. :)
Modifié pour inclure deux étapes possibles à suivre:
Il semble y avoir un changement dans l'inclusion des en-têtes dans iOS8.0 (le fichier glextensions, par exemple, ne figure plus dans l'en-tête supérieur). Si vous ajoutez explicitement le framework Foundation à votre projet, cela se passera bien. Bien entendu, rendre CFNetwork facultatif conduira à des échecs et n’est qu’une solution à l’erreur de construction et non une solution globale.
J'ai eu un problème similaire avec UIAlertAction
dyld: Symbole non trouvé: _OBJC_CLASS _ $ _UIAlertAction Référencé depuis:/var/mobile/Applications/.... app/... Attendu dans: /System/Library/Frameworks/UIKit.framework/UIKit dans/var/mobile/Applications/.... app/...
Faire UIKit.frameWork
Optional
a résolu mon problème. Dans votre cas, je devine, rendant votre CFNetwork.framework
optional
résoudra également votre problème.
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 re-généré chaque fois que vous pod update
.)
Réorganisez vos frameworks pour avoir Foundation avant CFNetwork.
C'est une solution temporaire à quelque chose qui est évidemment un bogue dans Xcode 6.
J'ai rencontré ce problème précis à la WWDC. J'ai parlé à un couple d'ingénieurs Apple) qui m'ont dit qu'il s'agissait d'un bogue dans le SDK causé par le déplacement de symboles entre CFNetwork et Foundation et que cela serait résolu dans la prochaine version, car très Vous pouvez contourner ce problème dans certains cas en jouant avec les ordres importés, mais cela ne fonctionnera pas toujours.
J'ai eu le même problème en utilisant sqlite3 avec Xcode 6.3 sur un appareil sous iOS 8.1.3 et donc en utilisant sqlite3 v3.7.13.
La fonction C sqlite3_errstr () a été introduite dans sqlite3 v3.7.15.
Mon code appelait sqlite3_errstr ().
L'application se bloquait au lancement.
Définir libsqlite3.dylib comme facultatif (plutôt que requis) a été efficace.
J'ai une erreur similaire: dyld: Symbole non trouvé: _ NSDictionary0 Par le lien: je réinitialise la cible de déploiement de mes projets associés sur la même valeur: 8.0, puis ça va. Peut-être que quelque chose a changé dans ios9.0 et ios8.0, donc si nous voulons rendre la version 8.0 compatible, nous devons faire connaître les projets connexes.
Les rares fois où il m'est arrivé un simple nettoyage (Maj + cmd + K) a fait l'affaire.
Rendre CFNetwork.framework optionnel cela a fonctionné pour moi