libc++abi.dylib: NSException 유형(lldb)을 제외하고 수집되지 않은 종료
앱을 빠르게 프로그래밍하고 iPhone 시뮬레이터에서 테스트 앱을 실행하면 모든 것이 작동하지만, 다음 페이지(View Controller Two)로 이동하기 위해 추가한 제스처인 오른쪽 스와이프를 시도합니다.이 동작은 크래시 되어 콘솔 로그에 에러 리포트가 표시됩니다.
2014-10-18 12:07:34.400 soundtest[17081:818922] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<soundtest.ViewControllerTwo 0x7f92f1f20090> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key sfdfa.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001067813f5 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x00000001082afbb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000106781039 -[NSException raise] + 9
3 Foundation 0x0000000106b984d3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
4 CoreFoundation 0x00000001066cb400 -[NSArray makeObjectsPerformSelector:] + 224
5 UIKit 0x00000001072ce97d -[UINib instantiateWithOwner:options:] + 1506
6 UIKit 0x000000010712f698 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
7 UIKit 0x000000010712fc88 -[UIViewController loadView] + 109
8 UIKit 0x000000010712fef9 -[UIViewController loadViewIfRequired] + 75
9 UIKit 0x000000010713038e -[UIViewController view] + 27
10 UIKit 0x00000001076cd83f -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
11 UIKit 0x000000010710bc49 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
12 UIKit 0x000000010713c121 -[UIViewController _presentViewController:withAnimationController:completion:] + 1746
13 UIKit 0x000000010713e461 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
14 UIKit 0x000000010713e385 -[UIViewController presentViewController:animated:completion:] + 229
15 UIKit 0x00000001073bb9d6 _UIGestureRecognizerSendActions + 262
16 UIKit 0x00000001073ba679 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 532
17 UIKit 0x00000001073bf296 ___UIGestureRecognizerUpdate_block_invoke662 + 51
18 UIKit 0x00000001073bf192 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 254
19 UIKit 0x00000001073b520d _UIGestureRecognizerUpdate + 2796
20 UIKit 0x00000001070520a6 -[UIWindow _sendGesturesForEvent:] + 1041
21 UIKit 0x0000000107052cd3 -[UIWindow sendEvent:] + 667
22 UIKit 0x000000010701fae1 -[UIApplication sendEvent:] + 246
23 UIKit 0x000000010702cbad _UIApplicationHandleEventFromQueueEvent + 17370
24 UIKit 0x0000000107008233 _UIApplicationHandleEventQueue + 1961
25 CoreFoundation 0x00000001066b6ad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26 CoreFoundation 0x00000001066ac99d __CFRunLoopDoSources0 + 269
27 CoreFoundation 0x00000001066abfd4 __CFRunLoopRun + 868
28 CoreFoundation 0x00000001066aba06 CFRunLoopRunSpecific + 470
29 GraphicsServices 0x000000010a1699f0 GSEventRunModal + 161
30 UIKit 0x000000010700b550 UIApplicationMain + 1282
31 soundtest 0x000000010624503e top_level_code + 78
32 soundtest 0x000000010624507a main + 42
33 libdyld.dylib 0x000000010ae4a145 start + 1
34 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
CMYR - "더 이상 존재하지 않는(또는 이름이 변경된) IBAtion에 버튼을 연결한 경우에도 발생할 수 있습니다."
이 문제가 발생하면 Main.storyboard로 이동하여 전화 아웃라인 상단에 있는 노란색 상자 아이콘(뷰 컨트롤러)을 오른쪽 클릭하고 노란색 플래그가 있는 콘센트를 삭제하십시오.
이러한 경우 작업 이름을 지정한 후 이름을 바꿉니다.이전 이름을 삭제해야 합니다.이것이 유일한 문제라면 sim에서 바로 시작할 것입니다!
혹시 OS_ACTIVITY_MODE 변수를 설정하셨나요?Xcode 9에서 이 변수가 설정되어 있는지 여부를 확인하려면(및 그것을 끄려면) 다음 절차를 따릅니다.
Select from Xcode menu Product -> Scheme -> Edit Scheme.. Select the Run scheme and look under Arguments. If you see the OS_ACTIVITY_MODE variable checked, deselect it
Xcode 9 및 Swift 4의 경우:
예외 스택을 인쇄하여 예외의 원인을 확인합니다.
- 중단점 탐색기 표시로 이동합니다.
예외 중단점 추가(+)
새 중단점(Control-Click, Edit Breakpoint)을 선택합니다.
- 액션 추가 및 입력: po $arg1
저 같은 경우에는 위임 메서드를 호출하고 있었는데 메서드가 선언되지 않았습니다.
이 오류는 일반적이며 여러 가지 이유로 인해 발생할 수 있습니다.실제로 무슨 일이 일어났는지 확인하려면 로그를 비활성화하지 않았는지 확인하십시오.OS_ACTIVITY_MODE를 디세블로 했을 경우는, 스킴으로 이네이블로 합니다.관련 없는 로그가 많이 발생하지 않도록 비활성화했을 수 있지만 편리합니다.
포인트 「」를 으로, 그 을 보다 할 수도 .po $arg1
Ahmed-LottfiAhmed-Lottfi에 의해
여기 당신이 살펴볼 수 있는 일반적인 체크리스트가 있습니다.
2) Check if you have renamed an IBOutlet and calling it
3) Check if you have renamed a method name or the method doesn't exist
4) Check if you are trying to add or remove any view from hierarchy
5) Check for any missing framework or library
6) Check if you’ve forgot to register your custom cell identifier
7) Check for any missing flag in the Proejct Setting (-obj) or any other linker flag etc.
다른 해결방법은 통하지 않았다. 여기 내 방법이 있다.이는 Swift 2.3 레거시모드로 동작하고 있는 경우의 Xcode 8에만 적용됩니다.
Interface Builder가 버튼에 연결되어야 하는 메서드의 이름을 바꾸려고 하는 것 같습니다.
해결책입니다._
:
@IBAction func editPictureTapped(sender: UIButton) { // not working
print("Tapped")
}
다음으로 변경:
@IBAction func editPictureTapped(_: UIButton) { // working OK
print("Tapped")
}
Segue Identifier Name이 잘못되었을 수도 있습니다.예 -
performSegueWithIdentifier("wrongSegueName", sender: self)
달랐어. 는 내 a a a a a a a a my my a a a a a my my my a a my a a a 。UINavigationController
을 사용하다
목표-C의 경우:
dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:@"SegueName" sender:self];
});
Swift 3의 경우:
DispatchQueue.main.async { [weak self] in
self?.performSegue(withIdentifier: "SegueName", sender: self)
}
Xcode 7에서 이 문제가 발생하기 시작했고, 삭제할 수 있는 노란색 플래그가 있는 콘센트가 없었습니다.
유일하게 효과가 있었던 것은 AppDelegate의 다음 라인을 교체하는 것이었습니다.
[window addSubview:viewController.view];
대상:
[window setRootViewController:viewController];
저는 UIButton과의 IBAtion에 문제가 있었습니다.
UIButton에서 IBAction을 작성하기 위해 Ctrl+Drag를 사용하는 경우 유형 드롭다운에서 "UIButton"을 선택해야 합니다.기본 선택 항목인 AnyObject를 선택하면 UIButton을 누르면 앱이 크래시됩니다.
또한 트리거 세그먼트가 고장났을 수도 있습니다.세그 또는 콘센트를 다시 연결하자마자 스토리보드를 확인해 주세요.
하세요.Identifier
당신의 코드와 비슷하고 정확합니다.
버튼 중 하나에 연결된 변수의 이름을 변경했을 때 이 문제가 발생했습니다.그러니 명심하세요!
Xcode는 처음이라 xls 파일을 로드하는 데 몇 시간이 걸렸습니다.위의 샘플 코드 대부분을 확인했지만 Xcode 오류는 해결되지 않았습니다.
제가 찾은 해결책은 Xls 파일을 Project -> Supporting Files에 드래그 앤 드롭하여 Xcode로 Import할 때 추가할 프로젝트를 'Add to targets:'로 지정해야 한다는 것입니다.
이 에러는, 다음의 2개의 방법으로 발생합니다.
다른 UIViewController에 푸시할 때 이 오류가 발생했습니다.
을 다른 반으로 요.UITabBarController
이 에러가 발생하고 있었습니다.
★★★★★★★★★★★★★★★★★?는 서서에서 하위 했다.UIViewController
는 더 충돌하지 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」
스토리보드를 쓰고 싶지 않았어요.그래서 지웠어요.그러나 프로젝트 설정에서 참조를 삭제하는 것을 잊었습니다.프로젝트 >> General >> Deployment Info >> 를 클릭하여 메인 인터페이스를 검은 공간으로 설정했습니다.(이전에는 메인으로 설정되어 있었습니다)
두 가지 상황에서 볼 수 있듯이 존재하는 개체에 액세스하면 오류가 발생합니다.
뷰 컨트롤러의 버튼에 대해 1개 이상의 IBAtion이 있을 수 있습니다.컨트롤러에서 해당 버튼의 이전 항목을 모두 삭제하고 새 버튼을 만드십시오.그게 너의 문제를 해결해 줄 거야.
뷰 계층에 아직 존재하지 않는 뷰에 상대 구속조건을 동적으로 적용하지 않도록 하십시오.
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectZero];
[self.view addSubview:bottomView];
bottomConstraint = [NSLayoutConstraint constraintWithItem:bottomView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeBottom
multiplier:1
constant:0];
bottomConstraint.active = YES;
위의 예에서 bottomView는 상대적인 제약을 적용하기 전에 뷰 계층의 일부로 되어 있습니다.
다른 사람이 이 스레드에서 발생할 경우를 대비해 가능한 해결책 목록에 문제를 추가합니다.
TableView셀 ID우선 휴대폰에 식별자가 있는지 확인합니다.둘째, 셀을 큐에서 분리할 때 해당 식별자를 참조해야 합니다.
Swift 4:
UIVisualEffectView api 。에서는 Swift 3에서 괜찮았습니다. myVisuallEffectView.addSubview(someSubview)
요.스위프트4에서. myVisualEffectView.contentView.addSubview(someSubview)
비주얼 포메터를 사용하여 구속조건을 만들 때 뷰 중 하나를 오타가 났을 때 이와 같은 오류가 발생했습니다.그게 누군가에게 도움이 됐으면 좋겠는데...아님 언젠가 다시 날 찾겠지.
react native 및 react-native-firebase를 사용하는 경우 Google-Services에 링크하십시오.plist 파일(https://github.com/invertase/react-native-firebase/issues/313#issuecomment-320435560)
에 왔다면expo eject
하다
- ,,
expo start
- 로 이동하여 /를 사용하여 를 설치합니다.
pod install
- Xcode를 통해 빌드를 실행합니다.
제 경우, iPad의 UIAlertView: UIAlertController is Crash (iPad) 입니다.sourceView와 sourceRect를 설정하지 않았습니다.
Xcode 8.2.1의 경우 뷰 컨트롤러에 맵 키트 뷰가 있습니다.그래서 제가
빌드 단계> 라이브러리와 바이너리 링크
라고 덧붙였습니다.MapKit.framework
럼럼괜괜괜괜괜괜
나는 이것이 틀을 필요로 하는 다른 관점에도 적용될 것이라고 생각한다.
추신: iOS 9에서 실행하면 Map Kit View에 문제가 있는 반면 iOS 10에서는 아무런 문제가 없습니다!
"drop amageddon" 솔루션만이 효과가 있었습니다.
- 장치에서 앱 제거
- 클린 프로젝트
- 장치에서 새 설치 실행
제 경우 XCode가 지쳐서 (당사의 코드로 설정된) 어설션 실패로 앱을 시작하지 못했습니다.
다른 기기에서 실행한 결과 어설션 실패가 나타났고, 이를 해결할 수 있었고, 모든 것이 정상으로 돌아갔습니다.
Swift 2.3의 경우
이것은 Xcode 8과 Swift 2.3의 버그인 것 같습니다.스토리보드를 통해 버튼 액션을 코드에 접속하는 경우, Xcode가 액션의 이름을 바꾸지 않았는지 확인해 주세요.메서드의 마지막에 Sender:가 추가되어 있기 때문에, Xcode가 기술한 메서드에 맞추어 코드로 이름을 변경합니다.
다른 버전의 경우 정답을 확인하십시오.
제 경우는 Interface Builder였습니다.다른 View Controller에서 Views를 복사하여 제약조건을 엉망으로 만들었습니다.
InterfaceBuilder에서 ViewController의 빨간색 화살표 오류가 발생했습니다.
실행 중 앱이 크래시되었습니다.
저의 경우 스토리보드의 타겟 멤버쉽을 설정하지 않아 앱이 다운되었습니다.
저 같은 경우에는 프로젝트Build Settings
일부 또는 존재하지 않는 디렉토리 포함Framework Search Paths
그리고.Library Search Paths
.
두 가지 문제가 있었습니다.
1) 스토리보드 파일에 뷰 컨트롤러가 포함되어 있지 않았습니다.
2) 내 스토리보드는 약 3년 전의 것으로 탭바 컨트롤러의 뷰 컨트롤러 중 하나를 처음부터 다시 작성해야 했다(UIText Field만 있고 왜 작동하지 않는지 아직 모르겠다).
또 다른 생각할 수 있는 원인은 다음과 같습니다.
저 같은 경우에는...xib
전화하고 있었다Bundle.main.loadNibNamed(...
충돌하고 있었어요나의 모든 것IBOutlets
그리고.IBActions
괜찮아 보였어요결국 나는 알아차렸다.nib
실제로는 로딩 중이었는데, 그 후 첫 번째 (그리고 유일한) 뷰에 접속하려고 했을 때)nib.first
)는 동작하지 않았습니다.실은.nib.count
예상된 것이 아닌 매우 큰 정수(최대 int?)를 반환했습니다.1
뷰를 다시 추가하려고 했지만 아직 실패했어요.
결국엔 다 지우고xib
파일을 만들고 다시 시작합니다(단, 일부 보기를 클립보드에 보관하여 다시 만들지 않고 붙여넣을 수 있습니다).
됐다!
언급URL : https://stackoverflow.com/questions/26442414/libcabi-dylib-terminating-with-uncaught-exception-of-type-nsexception-lldb
'programing' 카테고리의 다른 글
Python에서 두 개의 사전을 하나의 식에 병합하려면 어떻게 해야 합니까? (0) | 2023.04.16 |
---|---|
텍스트 상자 - 수평 텍스트 센터링 (0) | 2023.04.16 |
파일에 있는 모든 숫자를 빠르게 합산하려면 어떻게 해야 합니까? (0) | 2023.04.16 |
Python에서 Excel 파일을 열려면 어떻게 해야 하나요? (0) | 2023.04.16 |
git 저장소의 줄 수 (0) | 2023.04.16 |