7.0에 나타나지 않는 iOS 7.1 시뮬레이터에서 예외가 발생합니다. 그것은 코어의 어딘가에서 처리되는 것처럼 보입니다. 예외 발생 중단 점을 트리거하기 만하기 때문입니다. 콘솔에 로그온하거나 충돌하지 않습니다. 이것은 UIPickerView에서 옵션을 스크롤하는 동안 발생합니다. 이 (오른쪽 UIApplicationMain에서 objc_exception_throw에) 가능한 의미있는 역 추적은 없지만, 디버거에서 던져 동안 예외를 검사하여 보여줍니다 : 나는 mode
내 프로젝트에서 검색 정의되지 않은 키 NSException UIPickerView iOS7.1
[<UIPickerView 0xb9a6700> valueForUndefinedKey:]: this class is not key value coding-compliant for the key _mode.
setMode:
,
mode =
하지만 난하지 않습니다 내가 이것을 설정하는 사람이라고 생각해. 다른 사람 누구나이 문제에 빠지니? 응용 프로그램을 손상시키지 않아도 괜찮은 것 같지만 두려움을 불러 일으켰습니다. 대신 던져지지 않도록 조치를 취할 것입니다. 좀 더 시간이 있으면 테스트 프로젝트에서 이것을 분리하고 후속 조치를 취할 것입니다.
편집 : 더 나은 역 추적 : 내 경우
thread #1: tid = 0x10975c, 0x02590909 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread, stop reason = breakpoint 1.2
frame #0: 0x02590909 libc++abi.dylib`__cxa_throw
frame #1: 0x01b1d9fc libobjc.A.dylib`objc_exception_throw + 323
frame #2: 0x020e1fe1 CoreFoundation`-[NSException raise] + 17
frame #3: 0x017ddc7a Foundation`-[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 282
frame #4: 0x0174adfd Foundation`_NSGetUsingKeyValueGetter + 81
frame #5: 0x0174a437 Foundation`-[NSObject(NSKeyValueCoding) valueForKey:] + 260
frame #6: 0x0d615dff AccessibilityUtilities`-[NSObject(UIAccessibilitySafeCategory) safeValueForKey:] + 43
frame #7: 0x1151c1f6 UIKit`-[UIAccessibilityPickerComponent accessibilityTraits] + 398
frame #8: 0x0d716021 UIAccessibility`-[NSObject(AXPrivCategory) accessibilityAttributeValue:] + 1865
frame #9: 0x0d70a7d7 UIAccessibility`_copyMultipleAttributeValuesCallback + 409
frame #10: 0x0d76c537 AXRuntime`_AXXMIGCopyMultipleAttributeValues + 202
frame #11: 0x0d767e78 AXRuntime`_XCopyMultipleAttributeValues + 473
frame #12: 0x0d7726b4 AXRuntime`mshMIGPerform + 256
frame #13: 0x01fcdca5 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
frame #14: 0x01fcd9db CoreFoundation`__CFRunLoopDoSource1 + 523
frame #15: 0x01ff868c CoreFoundation`__CFRunLoopRun + 2156
frame #16: 0x01ff79d3 CoreFoundation`CFRunLoopRunSpecific + 467
frame #17: 0x01ff77eb CoreFoundation`CFRunLoopRunInMode + 123
frame #18: 0x03fea5ee GraphicsServices`GSEventRunModal + 192
frame #19: 0x03fea42b GraphicsServices`GSEventRun + 104
frame #20: 0x007ddf9b UIKit`UIApplicationMain + 1225
frame #21: 0x0004863d [redacted]`main(argc=1, argv=0xbfffef50) + 141 at main.m:16
이 valueForUndefinedKey을, 행위의 범죄자를 잡을 UIPickerView''를 통해 카테고리를 만들고'구현하기 위해' 거기에 브레이크 포인트를 두십시오. 누가 문제를 일으키는 지 확인하십시오. 스택 트레이스 UINibDecoder 어딘가에 보일 것이다. nib 파일에 "mode"또는 "_mode"에 대한 키/값 쌍이 있는지 확인하십시오. –
그게 좋은 생각입니다! 불행히도 모든 백 트레이스는 디스어셈블러에 나타나는 라이브러리 코드입니다. 접근성 속성과 관련이있는 것 같습니까? 피커 뷰는 펜촉으로 인스턴스화되지 않습니다. – rogerxyz
네, 스택 추적을 봤어. 이것을 샘플 프로젝트에서 재현 할 수 있습니까? 피커 또는 하위 뷰에 대한 접근성 속성을 설정 했습니까? –