내 crashlog를 분석하는 데 문제가 있습니다. 앱을 시작하기 위해 앱 아이콘을 클릭 할 때 iPhone이 가끔 충돌합니다. 앱이 백그라운드에서 이미 실행되고 있지만 활성화되어 있지 않습니다. 이것은 상징화 된 충돌 로그입니다.Core Location 콜백 기계에 iOS 앱이 충돌합니다.
Thread 0 Crashed:
0 libobjc.A.dylib 0x33479470 objc_msgSend + 28
1 CoreLocation 0x3436f68e -[CLLocationManager onClientEvent:supportInfo:] + 98
2 CoreLocation 0x3436f804 OnClientEvent + 16
3 CoreLocation 0x3436b522 CLClientInvokeCallback(__CLClient*, CLClientEvent, __CFDictionary const*) + 42
4 CoreLocation 0x3436cf74 CLClientHandleDaemonDataRegistration(__CLClient*, CLDaemonCommToClientRegistration const*, __CFDictionary const*) + 668
5 CoreLocation 0x3436d4c8 CLClientHandleDaemonData(__CFMessagePort*, long, __CFData const*, void*) + 212
6 CoreFoundation 0x33a813fe __CFMessagePortPerform + 242
7 CoreFoundation 0x33a556f8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20
8 CoreFoundation 0x33a556bc __CFRunLoopDoSource1 + 160
9 CoreFoundation 0x33a47f76 __CFRunLoopRun + 514
10 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224
11 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52
12 GraphicsServices 0x33b0e4a4 GSEventRunModal + 108
13 GraphicsServices 0x33b0e550 GSEventRun + 56
14 UIKit 0x32099322 -[UIApplication _run] + 406
15 UIKit 0x32096e8c UIApplicationMain + 664
16 Norddeich 0x00002764 main (main.m:14)
17 Norddeich 0x00002718 start + 32
위로 가기 스택 추적을 이해하면 main.m에서 오류가 발생했습니다.
int retVal = UIApplicationMain(argc, argv, nil, nil);
나에게 어떻게 오류를 찾을 수있는 힌트를주십시오 : 선 (14)는 기본 코드의 일부입니다.
미리 감사드립니다.
'CLLocationManager'의 일부 코드가 충돌하는 것 같습니다. 앱에서 위치 추적을 사용합니까? –
안녕하세요, 올레! 예, 위치 추적을 사용합니다. didFinishLaunchingWithOptions 메서드에서 시작하는 AppDelegate에 CLLocationManager가 있습니다. 위치를 필요로하는 뷰 컨트롤러가 사용될 때마다 적절한 didUpdateToLocation 메서드를 사용하기 위해 뷰 컨트롤러를 CLLocationManager의 대리자로 설정합니다. 이거 괜찮아? 감사! – sqeez3r
배경을 입력 할 때 델리게이트를 nil로 설정합니까? 그렇지 않으면 델리게이트로 설정된 뷰 컨트롤러가 할당 해제되어 충돌을 일으킬 수 있습니다. 또한 오류 로그의 맨 위를보고 발생한 위치를 확인해야합니다. 크래쉬가 쓰레드 0에 있다면, main 함수는 항상 백 트레이스의 맨 아래에있을 것이다. – ughoavgfhw