libc++abi.dylib: beëindigen met niet-afgevangen uitzondering van het type NSException (lldb)

Ik programmeer snel een app en wanneer ik de test-app op de iPhone-simulator uitvoer, werkt alles, maar dan probeer ik naar rechts te vegen, wat een gebaar is dat ik heb toegevoegd om naar de volgende pagina te gaan (Bekijken Controller Two) crasht en toont dit foutrapport in het consolelogboek.

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) 

Antwoord 1, Autoriteit 100%

CMYR – “Het kan ook gebeuren als u een knop hebt ingetrokken tot een ibaction die niet meer bestaat (of is hernoemd)”

Als u dit probleem opneemt, moet u ervoor zorgen dat u naar Main.Storyboard gaat, klik met de rechtermuisknop op het geelbox-pictogram (weergavecontroller) boven aan de bovenkant van de telefoon overzicht en verwijder de uitlaat (en) met gele vlaggen.

Wat gebeurt er in gevallen zoals dit is waarschijnlijk een actie genoemd, en vervolgens omgedoopt. Je moet de oude naam verwijderen en als dat het enige probleem was, start je meteen in SIM!


Antwoord 2, Autoriteit 23%

Heb je de OS_ACTIVITY_MODE-variabele met een kans ingesteld?
Controleer of u deze variabele set (en uitschakelt, in Xcode 9, doet u het volgende:

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


Antwoord 3, autoriteit 21%

In Xcode 9 en Swift 4:

Uitzonderingsstapel afdrukken om de reden van de uitzondering te weten:

  1. Ga naar breekpunt-navigator weergeven.
  2. Toevoegen (+) Uitzonderingsonderbrekingspunt toevoegen.

  3. Selecteer het nieuwe breekpunt, Control-Click, Breakpoint bewerken.

  4. Actie toevoegen en invoeren: po $arg1


Antwoord 4, autoriteit 2%

In mijn geval riep ik een gedelegeerde methode aan, maar de methode werd niet gedeclareerd.

Deze fout is algemeen en kan verschillende redenen hebben. Zorg ervoor dat u uw logboeken niet hebt uitgeschakeld om daadwerkelijk te zien wat er is gebeurd. Schakel OS_ACTIVITY_MODEin de schema’s in als je het hebt uitgeschakeld. Je hebt het misschien uitgeschakeld om veel irrelevante logs te voorkomen, maar ze zijn handig.

Je kunt de oorzaak ook in meer detail achterhalen door een uitzonderingsbreekpunt toe te voegen po $arg1. Zoals al vermeld door Ahmed-Lotfi

Hier is een algemene checklist die u kunt doorlopen.

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.

Antwoord 5, autoriteit 2%

Andere oplossingen werkten niet bij mij, hier is de mijne. Het is alleen van toepassing op Xcode 8 bij gebruik in Swift 2.3legacy-modus:

Het lijkt erop dat Interface Builder de methode probeert te hernoemen die aan de knop moet worden gekoppeld.

Hier is een radarmet meer details.

De oplossing (oplossing) is om de parameternaam van de methode handmatig te vervangen door _:

@IBAction func editPictureTapped(sender: UIButton) {  // not working
    print("Tapped")
}

Wijzig dit:

@IBAction func editPictureTapped(_: UIButton) {     // working OK
    print("Tapped")
}

Antwoord 6

Het kan ook een verkeerde Segue-identificatienaam zijn.
Bijv. –

performSegueWithIdentifier("wrongSegueName", sender: self)

Antwoord 7

Mijn situatie was een beetje anders, ik probeerde over te gaan in een UINavigationController, en wat het voor mij oploste, was het verkrijgen van het hoofdwachtrijgedeelte.

Voor Objective-C:

dispatch_async(dispatch_get_main_queue(), ^{
    [self performSegueWithIdentifier:@"SegueName" sender:self];
});

Voor Swift 3:

DispatchQueue.main.async { [weak self] in
    self?.performSegue(withIdentifier: "SegueName", sender: self)
}

Antwoord 8

Dit begon voor mij te gebeuren op Xcode 7 en ik had geen verkooppunten met gele vlaggen die ik kon verwijderen.

Het enige dat voor mij werkte, was deze regel in de AppDelegate vervangen:

[window addSubview:viewController.view];

naar:

[window setRootViewController:viewController];

Antwoord 9

Voor mij was het probleem in mijn ibaction met een Uibutton.

Wanneer u CTRL + Sleep om een ​​ibaction uit een Uibutton te maken, zorg er dan voor dat u “Uibutton” selecteert uit de vervolgkeuzelijst. De standaardselectie van anyobject veroorzaakt de app om te crashen wanneer u op de Uibutton tikt.


Antwoord 10

Het kan ook een gebroken geactiveerde segues zijn, inchecken in uw storyboard, zodra u opnieuw verbinding maakt de segues of uitlaat, het moet allemaal opnieuw werken.

Controleer of de Identifiervan de Segue correct is en vergelijkbaar met uw -code .


Antwoord 11

Ik heb dit probleem tegengekomen toen ik de naam van de variabele heeft gewijzigd die is aangesloten op een van mijn knoppen. Dus houd dat in gedachten!


Antwoord 12

Ik ben nieuw bij Xcode, dus het kostte me een paar uur om het probleem te achterhalen om XLS-bestand te laden. Ik volgde het grootste deel van de monstercodes daarboven en geen van hen lost de getoonde fout xcode op.

De oplossing die ik vond was dat we de ‘Toevoegen aan doelen:’ moesten specificeren, vink het project aan om toe te voegen, wanneer we het xls-bestand in Xcode importeren door te slepen en neer te zetten in Project -> Ondersteunende bestanden.


Antwoord 13

er kan meer dan 1 IBA-actie zijn voor een knop in uw weergavecontroller. Probeer die te vinden en verwijder alle vorige items voor die knop in uw controller en maak een nieuwe knop. Het zal uw probleem oplossen.


Antwoord 14

Zorg ervoor dat u geen dynamische relatieve beperkingen toepast op een weergave die nog niet aanwezig is in de weergavehiërarchie.

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;

In het bovenstaande voorbeeld is bottomViewonderdeel gemaakt van de weergavehiërarchie voordat er relatieve beperkingen op werden toegepast.


Antwoord 15

Ik heb deze fout op de volgende 2 manieren:

Ik kreeg deze foutmelding toen ik naar een andere UIViewController pushte.

Echter per ongeluk heb ik de andere klasse gesubclasseerd van UITabBarControlleren kreeg deze foutmelding.

Hoe heb ik het opgelost? Ik ben gesubklasseerd van UIViewControlleren ik crashte niet meer 🙂


Ik wilde niet storyboard gebruiken. Zo schrapte ik het. Toch vergeet ik tot de referentie in de Project Instellingen verwijderen. Ik klikte op de project & gt; & gt; Algemeen & gt; & gt; Deployment Info & gt; & gt; en ik stel ik het hoofdmenu om naar de zwarte ruimte. (Eerder werd ingesteld op hoofd)

Zoals u kunt zien voor de beide situaties je krijgt een foutmelding voor de toegang tot een object dat wel bestaat …


Antwoord 16

Ik ga naar mijn probleem aan de lijst van mogelijke oplossingen toe te voegen in het geval iemand anders gebeurt op deze thread.

TableView celidentificator. Ten eerste zorg ervoor dat uw cel heeft een identificatie. Ten tweede, zorg ervoor dat je verwijzen naar die identifier wanneer u de cel ontbufferen.


Antwoord 17

Swift 4

Ik kreeg deze fout als gevolg van een wijziging in de UIVisualEffectView api. In Swift 3 was het ok om dit te doen:

myVisuallEffectView.addSubview(someSubview)

Maar in Swift 4 moest ik om het te veranderen om dit:

myVisualEffectView.contentView.addSubview(someSubview)


Antwoord 18

Ik had deze zelfde fout als ik had een typo voor één van de uitzicht, terwijl beperkingen te bouwen met behulp van de visuele formatter. Ik hoop dat iemand helpt … of me weer een dag.


Antwoord 19

Als u met behulp van inheemse reageren en reageren-native-firebase, zorg ervoor dat u een link van de Google-Services.plist bestand (https://github.com/invertase/react-native-firebase/issues/313#issuecomment-320435560 )


Antwoord 20

Als iemand kwam hier na expo ejectdan de onderstaande stappen helpen.

  1. Do, expo startin uw terminal
  2. Ga naar iOS / en te installeren pod met pod install
  3. Voer de build via Xcode.

Antwoord 21

In mijn geval was het de UIAlertView op iPad:
UIAlertController is gecrasht (iPad). Ik heb sourceView en sourceRect niet ingesteld.


Antwoord 22

Voor mijn geval, Xcode 8.2.1, had ik een Map Kit Viewin een view-controller. Dus ik ging naar

Bouwfasen > Binary koppelen met bibliotheken

en MapKit.frameworktoegevoegd, toen was het in orde.

Ik denk dat dit ook van toepassing is op andere opvattingen die kader vereisen.

P.S. Draaien op iOS 9 vertelde me dat er een probleem was met Map Kit View, terwijl op iOS 10 me niets vertelde!


Antwoord 23

Alleen de “drop armageddon”-oplossing werkte voor mij:

  • app van apparaat verwijderen
  • schoon project
  • voer nieuwe installatie uit op apparaat

Antwoord 24

In mijn geval was het XCode die moe werd en de app niet startte met dit bericht, vanwege een mislukte bewering (die was ingesteld door onze code).

Het draaien op een ander apparaat toonde de fout in de bewering, die we konden oplossen, en alles werd weer normaal.


Antwoord 25

Voor Swift 2.3

Dit lijkt een bug te zijn met Xcode 8 en Swift 2.3, als je de knopactie via storyboard aan je code koppelt, zorg er dan voor dat Xcode de actie niet heeft hernoemd, voor mij voegt het een withSender toe: aan het einde van de methoden, dus wat ik doe is naar mijn code gaan en de methode hernoemen zodat deze overeenkomt met degene die Xcode heeft geschreven.

Vink voor elke andere versie het juiste antwoord aan.


Antwoord 26

In mijn geval was dat InterfaceBuilder. Ik had wat Views gekopieerd van een andere ViewController, waardoor de beperkingen werden verpest.

In InterfaceBuilder had ik de rode pijlfout op de ViewController.

Tijdens uitvoering crashte de app.


Antwoord 27

In mijn geval crashte de app omdat ik het doellidmaatschap van het storyboard niet had ingesteld.


Antwoord 28

In mijn geval bevatte het project Build Settingsenkele naar niet-bestaande mappen voor Framework Search Pathsen Library Search Paths.


Antwoord 29

Ik had twee problemen:

1) Mijn doelwit had niet de weergavecontroller die werd gebruikt in het storyboard-bestand.

2) Mijn storyboard was ongeveer 3 jaar oud, ik moest een van de view-controllers in de tabbar-controller helemaal opnieuw maken (het had alleen een UITextField en ik weet nog steeds niet waarom het niet werkte)


Antwoord 30

Nog een mogelijke oorzaak:

In mijn geval had ik een xiben riep ik Bundle.main.loadNibNamed(...) waarna het crashte. Al mijn IBOutletsen IBActionsleken prima. Uiteindelijk merkte ik dat de nibdaadwerkelijk aan het laden was, maar toen ik probeerde toegang te krijgen tot de eerste (en enige) weergave ( nib.first), dat werkte niet. In feite retourneerde nib.counteen zeer groot geheel getal (max int?), in plaats van de verwachte 1. Ik heb geprobeerd de weergave opnieuw toe te voegen, maar nog steeds geen geluk.

Uiteindelijk heb ik het hele xib-bestand verwijderd en opnieuw begonnen (maar ik heb enkele weergaven op mijn klembord bewaard, zodat ik ze kan plakken in plaats van ze opnieuw te maken).

Dit werkte!

Other episodes