2014-07-10 13 views
8

SKProductsRequestDelegate이 할당 되었기 때문에 다음과 같은 오류 보고서가 생성 될 수 있다고 생각 하나, 코드 자체가 아닌가요? 즉 VC가 닫혀 있습니까? iOS 크래시 보고서 SKProductsRequest

StoreKit: __34-[SKProductsRequest _handleReply:]_block_invoke + 442 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Subtype: KERN_INVALID_ADDRESS at 0x41682340 
Triggered by Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib     0x38d19626 objc_msgSend + 6 
1 StoreKit      0x30c4784a __34-[SKProductsRequest _handleReply:]_block_invoke + 442 
2 libdispatch.dylib    0x391f7830 _dispatch_call_block_and_release + 8 
3 libdispatch.dylib    0x391f781c _dispatch_client_callout + 20 
4 libdispatch.dylib    0x391fe49a _dispatch_main_queue_callback_4CF$VARIANT$mp + 274 
5 CoreFoundation     0x2e45f89c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 4 
6 CoreFoundation     0x2e45e170 __CFRunLoopRun + 1296 
7 CoreFoundation     0x2e3c8eba CFRunLoopRunSpecific + 518 
8 CoreFoundation     0x2e3c8c9e CFRunLoopRunInMode + 102 
9 GraphicsServices    0x3332265e GSEventRunModal + 134 
10 UIKit       0x30d15148 UIApplicationMain + 1132 
11 BaseApp       0x00035aea 0x2c000 + 39658 
12 libdyld.dylib     0x3921cab4 start + 0 

내 생각이 맞다면

, 나는 호출하여이 문제를 해결할 수 있습니다 - 내가 잘못 생각하는 경우

request.delegate = nil; 
[request cancel]; 
request = nil; 

가, 누군가가 나를 위해이에 대한 몇 가지 더 많은 빛을 흘릴 수 있을까?

감사합니다.

답변

17

ref에서 다음 코드를 추가하면 실제로 문제가 해결되었습니다.

request.delegate = nil; 
[request cancel]; 
request = nil; 
+0

어디에 넣었습니까? 이해하지 마라. – lespommes

+2

클래스가 제거 될 때 추가하여 viewWillDisappear, dealloc 또는 backgrounding을 추가합니다. – MrNeilM

+0

아, 알겠습니다. 결국 나는 호출이 진행되는 동안 객체가 단지 할당 해제되었다는 것을 깨달았습니다. 그래서 그것을 옮겼습니다. 감사! – lespommes