exc_bad_access in Facebook sdk login Xcode 8 beta

10

vor kurzem habe ich angefangen, meine Anwendung IOS 10 Funktionen hinzuzufügen, während ich auf einen seltsamen Bug stieß:

Wenn ich mit facebook SDK via Browser authentifiziere, sobald ich im eingebetteten Browser auf den Bestätigungsbutton von Facebook klicke, stürzt die App ab.

Leider ist dieser Fehler nicht informativ, die Konsole sagt mir nichts darüber und es gibt keinen Call-Stack, um zu sehen, wo diese Ausnahme aufgetreten ist.

Zwei Punkte zur Demonstration dieses Fehlers verursachen: 1. Dieser Fehler tritt nicht auf, wenn die Anmeldung über das Systemkonto erfolgt, aber nur dann, wenn Sie sich im Browser befinden, wie Sie auf dem nächsten Foto sehen können:

(Sobald ich auf OK klicke, tritt die Ausnahme auf)

  1. Wenn ich meine App über Xcode 7.x starte, passiert der Fehler nicht. Es hängt also wahrscheinlich mit der Integration von Facebook SDK mit dem neuen Compiler oder so ähnlich zusammen.

Hoffe, jemand hat dafür eine Antwort oder vielleicht eine Idee, wie ich diesen uninformativen Fehler beheben kann. Danke im Voraus, Liran.

    
Liran Revivo 21.08.2016, 22:21
quelle

2 Antworten

1

Ich bin gerade auf etwas Ähnliches gestoßen, aber leider habe ich nicht die Zeit, das Problem zu graben. Aber ich fand diese Website, die ziemlich gut erklärt, wie es funktioniert, und wie man es debuggen kann: Was ist EXC_BAD_ACCESS und wie man es debuggt

Also, hier ist, warum dieser Fehler passiert:

  

Zusammenfassend heißt das, wenn Sie auf EXC_BAD_ACCESS stoßen, dass Sie versuchen, eine Nachricht an einen Speicherblock zu senden, der diese Nachricht nicht ausführen kann.

     

In einigen Fällen wird EXC_BAD_ACCESS jedoch von einem beschädigten Zeiger verursacht. Wenn Ihre Anwendung versucht, einen beschädigten Zeiger zu dereferenzieren, wird eine Ausnahme vom Kernel ausgelöst.

Eine der Lösungen in diesem Artikel besteht darin, Zombie-Objekte zu verwenden:

  

Klicken Sie auf das aktive Schema oben links und wählen Sie Schema bearbeiten.

     

Wählen Sie auf der linken Seite Ausführen und öffnen Sie oben die Registerkarte Diagnose. Um Zombie-Objekte zu aktivieren, aktivieren Sie das Kontrollkästchen Enable Zombie Objects.   Wenn Sie nun auf EXC_BAD_ACCESS stoßen, gibt Ihnen die Ausgabe in der Xcode-Konsole eine bessere Vorstellung davon, wo Sie Ihre Suche starten können.

Es sollte Ihnen mehr Informationen in den Protokollen geben, damit Sie eine Vorstellung davon haben können, was die Wurzel des Problems ist. BTW, es hat nicht für mich funktioniert.

Eine andere Lösung besteht darin, mögliche Problembereiche in Ihrem Code mit dem Xcode-Tool analysieren zu überprüfen. Drücke Shift-Cmd-B , um es zu benutzen, oder Product -> Analyze Es sollte die möglichen Probleme, die Sie überprüfen müssen, im Issue Navigator auf der linken Seite von Xcode anzeigen. Klicken Sie auf das Problem, um den Code-Block anzuzeigen, der für Xcode verdächtig ist, der aber letztendlich überhaupt kein Teil des Problems sein kann.

Weitere Informationen finden Sie im obigen Link. Ich habe nur zusammengefasst, was der Artikel sagt.

    
n3wbie 25.08.2016, 16:53
quelle
10

Ich bin auch auf dieses Problem gestoßen. Es scheint, dass eine der UIApplication Delegate-Methoden in iOS 9 veraltet und vermutlich in iOS 10 entfernt wurde.

%Vor%

Ich ersetzte es mit der folgenden Methode:

%Vor%     
adimitri 31.08.2016 23:30
quelle