2010-06-24 3 views
4

지난 48 시간 동안이 포럼과 싸워 왔으며 사용하지 않고 모든 포럼을 검색했습니다. NSURLConnection을 사용하여 일련의 웹 파일을 비동기 적으로 다운로드합니다. 고정되어 있지 않은 파일 몇 개를 다운로드 한 후 무작위로 충돌합니다. 그것은 참으로 리디렉션 요청이 전송되는 문제이다 유래에이를 이전 스레드를 본 후NSURLConnection이 잘못된 액세스 충돌을 야기합니다.

#0 0x35b634f4 in objc_msgSend 
#1 0x3527c2ca in CFEqual 
#2 0x3532e750 in __CFBasicHashStandardEquateKeys 
#3 0x35330514 in ___CFBasicHashFindBucket_Linear 
#4 0x3527c07c in CFBasicHashFindBucket 
#5 0x3527bf5c in CFDictionaryGetValue 
#6 0x31d15cb4 in HTTPMessage::copyConstantHeaderFieldValue 
#7 0x31d6526c in URLRequest::copyConstantHeaderFieldValue 
#8 0x31d606f8 in HTTPProtocol::getCacheStoragePolicy 
#9 0x31d62cd0 in HTTPProtocol::updateForHeader 
#10 0x31d64524 in HTTPProtocol::performHeaderRead 
#11 0x31d64bf8 in HTTPProtocol::httpReadStreamEvent 
#12 0x352c4302 in _signalEventSync 
#13 0x352c427c in _cfstream_shared_signalEventSync 
#14 0x352ed294 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 
#15 0x352ef0e2 in __CFRunLoopDoSources0 
#16 0x352f0058 in __CFRunLoopRun 
#17 0x352970c2 in CFRunLoopRunSpecific 
#18 0x35296fd0 in CFRunLoopRunInMode 
#19 0x30a1f31c in +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] 
#20 0x309ef618 in -[NSThread main] 
#21 0x30a75146 in __NSThread__main__ 

:

아래의 호출 스택을 참조하십시오. 해결책이 구현되어야한다고 제안했습니다.

- (NSURLRequest *)connection:(NSURLConnection *)connection 
      willSendRequest:(NSURLRequest *)request 
      redirectResponse:(NSURLResponse *) redirectResponse 
{ 
return request; 
} 

그래도 충돌이 발생했습니다. 또한 충돌 이전의 동작은 willSendRequest이 두 번 호출되고이 요청에 대해 다른 위임 메서드가 호출되지 않습니다. 내부적으로는 NSURLResponse에서 충돌합니다. 도움이

+0

여전히 문제가 된 누구에게 도움이됩니까? – Vamshi

+0

안녕 아무도 이것에 대해 단서가 없거나 새로운 사용자에게 답변하고 싶지 않습니까? – Vamshi

+0

iOS 4.0이 적용된 iPhone에서이 문제가 발생했습니다. 3.0에서 발생하지 않습니다. – Vamshi

답변

0

이 5 월 : 예를 들어 Asynchronous NSURLConnection Throws EXC_BAD_ACCESS

는 :

나는 NSZombieEnabled 플래그 내 문제를 해결했습니다. 내 문제는 NSURL autorelease 개체를 제공했다. 따라서 URL 객체는 특정 시간에 할당이 해제되고 내부 API 코드에 액세스하지 못했습니다.

관련 문제