2016-10-02 28 views
-1

Ich wechselte vor kurzem zu swift3. Auch nach der Umstellung auf swift3 funktionierte der Code der Benachrichtigungszentrale einwandfrei (keine Abstürze und das, was er tun sollte).Notification Center Absturz in Swift 3

Ich experimentierte mit Force Touch in einigen anderen Teilen des Codes, als plötzlich die App abstürzte (SIGBRT ... 'unerkannter Selektor' gesendet).

NotificationCenter.default.addObserver(self, selector: Selector(("applicationWillEnterBackGround:")), name: Notification.Name.UIApplicationDidEnterBackground, object: nil) 

Gereinigt der Build, lief es wieder. Nicht sicher, was das verursachen könnte? Noch ziemlich neu in Swift, wird jede Hilfe sehr dankbar :)

Danke, Karthik

Antwort

1

Das Problem in Selector(("applicationWillEnterBackGround:")) die Hauptstadt G ist.

Aber warum in aller Welt schreiben Sie sogar Code wie diesen? Verwenden Sie #selector Syntax; sein ganzer Zweck ist, diese Art von Albernheit zu verhindern.

Auch Sie nie etwas zu tun AnrufapplicationWillEndBackground. Das ruft nur die Laufzeit ab. Sie haben kein Recht, eine Benachrichtigung wie diese zu konfigurieren.

+0

Danke Matt. Ich wechselte zu #Selector Syntax und es funktioniert gut. Ich verstehe wirklich, wie es jetzt funktioniert! Danke für den Tipp. Ich mache nichts mit der Anwendung im Hintergrund - das war nur zum Beispiel/debug. Ich mache einige Sachen, wenn die App in den Vordergrund tritt. –

+0

@karthiksarpatwari siehe [hier] (http://stackoverflow.com/a/36211714/5175709) – Honey

Verwandte Themen