J'ai une application appelée Flick Background (je suis le développeur). Cela fonctionne bien sur Leopard, mais ne fonctionne pas sur Snow Leopard (se bloque lors du téléchargement d'une image). Voici le journal de l'accident (une partie est retirée, car elle contient des informations personnelles):Crashes dans le léopard des neiges, pas léopard
Process: Flick Background [8591]
Path: <<hidden>>
Identifier: com.alexy.Flick Background
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000020a38928
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x916caee4 objc_msgSend + 36
1 com.apple.CFNetwork 0x969ac054 URLDownload::willSendRequest(_CFURLRequest const*, _CFURLResponse*) + 56
2 com.apple.CFNetwork 0x9694a0a7 URLConnectionClient::getRequestForTransmission(_CFURLResponse*, _CFURLRequest const*, __CFError**) + 413
3 com.apple.CFNetwork 0x96949b2f URLConnectionClient::_clientWillSendRequest(_CFURLRequest const*, _CFURLResponse*, URLConnectionClient::ClientConnectionEventQueue*) + 223
4 com.apple.CFNetwork 0x969ce456 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 148
5 com.apple.CFNetwork 0x9694994e URLConnectionClient::processEvents() + 94
6 com.apple.CFNetwork 0x969497ef MultiplexerSource::perform() + 183
7 com.apple.CoreFoundation 0x910d90fb __CFRunLoopDoSources0 + 1563
8 com.apple.CoreFoundation 0x910d6bbf __CFRunLoopRun + 1071
9 com.apple.CoreFoundation 0x910d6094 CFRunLoopRunSpecific + 452
10 com.apple.CoreFoundation 0x910d5ec1 CFRunLoopRunInMode + 97
11 com.apple.HIToolbox 0x94426f9c RunCurrentEventLoopInMode + 392
12 com.apple.HIToolbox 0x94426c8d ReceiveNextEventCommon + 158
13 com.apple.HIToolbox 0x94426bd6 BlockUntilNextEventMatchingListInMode + 81
14 com.apple.AppKit 0x91bbba89 _DPSNextEvent + 847
15 com.apple.AppKit 0x91bbb2ca -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
16 com.apple.AppKit 0x91b7d55b -[NSApplication run] + 821
17 com.apple.AppKit 0x91b755ed NSApplicationMain + 574
18 com.alexy.Flick Background 0x00001cfa start + 54
Ce que je vois est que lorsque les téléchargements d'images, de plantage de mon application. Ma première conclusion est que ce que j'utilise pour télécharger l'image est déprécié dans Snow Leopard.
Je n'ai pas de machine à léopard des neiges, donc je ne peux pas localiser l'erreur directement. Cela fait partie du code que je pourrais penser est la cause du problème:
NSError *error = nil;
NSData *initalizedUrl = [NSData dataWithContentsOfURL: [NSURL URLWithString:@"URLHERE"] options:0 error:&error];
NSString *rawContents = [[NSString alloc] initWithData:initalizedUrl encoding:NSASCIIStringEncoding];
Je suis presque sûr à 100% que ce problème sera résolu dans le léopard des neiges.
Pourquoi pensez-vous que le code cause le problème? À quoi ressemble votre journal de bord après l'avoir symbolisé? (Vous * enregistrez le paquet dSYM de chacune de vos versions, non?) –
Je pense que c'est ce code parce que c'est la seule fonction qui télécharge quelque chose. J'ai déplacé ma fenêtre principale rapidement et je fuyais des centaines d'objets, j'ai découvert plus tard. Je n'ai même pas commencé le processus de téléchargement. Hmm ... – alexy13
Eh bien, si vous ne libérez pas l'objet NSString, ce serait l'une des fuites. L'instrument Leaks vous en dira plus. Vous devriez toujours symboliser le journal des accidents; alors vous serez en mesure d'aller aux lignes exactes de votre code que votre programme était quand il s'est écrasé. –