Ich versuche, eine Anwendung zu entwickeln (immer noch lernen), wo ich einen Anmeldebildschirm präsentieren, die einen Benutzernamen und ein Passwort akzeptiert - das geht dann an einen Web-Service zur Authentifizierung und gibt ein Zugriffs-Token zurück.Wie wird der Anmeldebildschirm nur angezeigt, wenn ein Userdefaults-Schlüssel nicht existiert?
Das Zugriffstoken wird dann in userdefaults gespeichert und zeigt dann einen neuen View-Controller, der Zugriff auf die gesicherten Daten gewährt.
Mein Problem ist, dass, wenn ich meine App schließe - force schließen, fragt sie dann erneut einloggen.
Da mein Login-View-Controller der anfängliche View-Controller ist, fügte ich eine Überprüfung hinzu, um zu sehen, ob ein Access-Token in userdefaults vorhanden ist, und den neuen View-Controller, der Zugriff auf die gesicherten Daten gibt. Jetzt ist mein Problem, dass der Login-Bildschirm immer hinter meinem gesicherten View-Controller geöffnet ist. Wenn Sie die App von Grund auf neu starten, können Sie kurz den Login-View-Controller sehen, bevor der gesicherte View-Controller angezeigt wird.
Wie würde ich das am besten handhaben? Ist der Fall, dass der anfängliche Ansicht-Controller auf den gesicherten Ansicht-Controller gesetzt ist, wenn der Benutzer-Standardschlüssel existiert - aber wie würde ich die Abmelde-Funktion handhaben, als müsste ich 'Pop' 'Root-View-Controller und Benutzer Standardeinstellungen löschen, aber da der Login-Bildschirm nicht in der View-Hierarchie ist, kann ich nicht darauf zurückkommen? Wenn der Anmeldeansicht-Controller beim Abmelden angezeigt wird, ist der gesicherte Ansichts-Controller immer noch unter dem Anmeldeansicht-Controller vorhanden.
Tut mir leid, wenn das ein wenig langatmig ist, aber ich versuche nur das Problem zu beschreiben, das ich habe.
Dank
@Michael, ich schreibe eine Demo und poste den folgenden Hauptcode, auf den du dich beziehen kannst. Wenn Sie die Demo möchten, hinterlassen Sie Ihre E-Mail hier. – aircraft