dyld: Symbole pas trouvé d'erreur: erreur de comment résoudre ce problème
J'ai le code suivant (ci-dessous) où je suis en utilisant NSURLConnection
pour la connexion et l'analyse de la chaîne de réponse. Mais j'obtiens l'erreur suivante:
dyld: Symbol not found: _CFXMLNodeGetInfoPtr
Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
in /System/Library/Frameworks/Security.framework/Versions/A/Security
J'ai travaillé sur ce projet pendant une longue itme sans être en mesure de corriger cette erreur.
J'ai importé json.h et ASIHTTPRequest.h, tous ces fichiers, tout de même, il n'a pas corrigé l'erreur.
@implementation Websample1ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
dataWebService = [[NSMutableData data] retain];
NSMutableURLRequest *request = [[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://www.googleapis.com/customsearch/v1?key=AIzaSyDzl0Ozijg2C47iYfKgBWWkAbZE_wCJ-2U&cx=017576662512468239146:omuauf_lfve&q=lectures&callback=handleResponse"]]retain];
NSURLConnection *myConnection = [NSURLConnection connectionWithRequest:request delegate:self];
[myConnection start];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[dataWebService setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[dataWebService appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *responseString = [[NSString alloc] initWithData:dataWebService encoding:NSUTF8StringEncoding];
NSLog(@"Response: %@",responseString);
[responseString release];
[dataWebService release];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"Error during connection: %@", [error description]);
}
//class 2
@implementation WebJson
//parse JSON
- (void)requestCompleted:(ASIHTTPRequest *)request
{
NSString *responseString = [request responseString];
NSDictionary *dictionary = [responseString JSONValue];
NSDictionary *dictionaryReturn = (NSDictionary*) [dictionary objectForKey:@"request"];
NSString *total = (NSString*) [dictionaryReturn objectForKey:@"totalResults"];
NSLog(@"totalResults: %@", total);
NSString *search = (NSString*) [dictionaryReturn objectForKey:@"searchTerms"];
NSLog(@"searchTerms: %@", search);
int count = [[dictionaryReturn objectForKey:@"count"] intValue];
NSLog(@"count: %d", count);
}
En double? stackoverflow.com/questions/1281261/...
OriginalL'auteur Abhilash | 2011-06-14
Vous devez vous connecter pour publier un commentaire.
dyld erreurs sont causées par un manque ou une mauvaise bibliothèque reliant, pas de code.
Vérifiez vos cadres liens, n'hésitez pas à supprimer/recréer les liens, en prenant soin de de la version d'iOS que vous prenez vos cadres de. (généralement utiliser Xcode liste fournie, ne pas rechercher des fichiers)
Dans votre cas, je ne serai pas surpris que la liaison
/System/Library/Frameworks/Security.framework
est une erreur, car il n'a pas l'air comme appartenant à iOS SDK, de regarder son chemin...Qui je pense devrait être plutôt quelque chose comme:
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator<Version>.sdk/System/Library/Frameworks/Security.framework
OriginalL'auteur Vincent Guerci
ugh. j'ai frappé de cette trop. s'est avéré que j'avais accidentellement coché la case pour copier le cadre de mon répertoire local lors de l'ajout le cadre de mon projet.
supprimer le cadre de votre projet.
puis ajoutez le cadre assurez-vous de ne pas copier les fichiers.
OriginalL'auteur kapsalot
Cela se produit également lorsque vous faites référence à une bibliothèque, une variable ou une méthode qui n'est pas compilé dans le courant de l'OS que vous ciblez.
Afin de vérifier que le symbole et voir si elle est disponible. Par exemple,
CFRelease(CFTypeRef cf)
est disponible dans tous les iOS cadres, maisCFAutorelease(CFTypeRef arg)
n'est disponible que sous iOS 7.0 (et Mac OSX 10.9) et désigné ci-dessus parCF_AVAILABLE(10_9, 7_0)
OriginalL'auteur Matt W.
J'ai eu le même message d'erreur quand j'ai changé le suffixe que mon exécutable utilise lors du chargement de cadres de "pas de' suffixe 'debug' suffixe. Je pense que le débogage des cadres ne sont pas tenus à jour par Apple.
Vous pourriez obtenir un peu de cette façon, si vous utilisez 'debug' pour d'autres raisons, puis d'ajouter un cadre dont la version de débogage n'est pas à jour.
Au XCode 3, le suffixe paramètre est disponible dans le panneau "Général" de votre exécutable "Obtenir des informations" de la fenêtre.
OriginalL'auteur Travelling Man
J'ai eu ce problème aussi, et il semble être un bogue connu dans le CFNetwork dans iOS 8 SDK (voir ici: https://devforums.apple.com/message/971238#971238).
Le travail est comme suit:
Modifier l'ordre des liens dans "Lien Binaire Avec les Bibliothèques" de votre cible et de mettre de la Fondation.cadre avant CFNetwork.cadre.
Qui a résolu les problèmes pour moi.
OriginalL'auteur shripad20
Changer votre cible de déploiement d'iOS 8.1.
OriginalL'auteur Jacob K. Bluhm