2010-05-23 24 views
11

Ich beginne eine neue App, und ich würde gerne wissen, wie man ein Passwort benötigt, um es zu öffnen.Passwort schützen iPhone App

Ich erwog eine UIActionSheet in der Anwendung didFinishLaunchingWithOptions Methode der App Delegiertenimplementierungsdatei, aber bin mir nicht sicher, wie man so vorgeht. Ich werde es trotzdem versuchen.

Gefunden this video, die ziemlich hilfreich scheint.

Jetzt habe ich meine UIActionSheet Pop-up-Anzeige "Passwort eingeben" und versuche herauszufinden, wie Sie eine Tastatur zum Action-Sheet hinzufügen.

+0

Warum ist dieses Community-Wiki? – kennytm

+0

Ich dachte, etwas, das Menschen mit dem gleichen Problem helfen würde, sollte in Community-Wiki gehen. Täusche ich mich? Ich entschuldige mich wenn es so ist. – Thomas

+0

Sie sollten nach einem Mod fragen, um dies zu löschen und eine weitere Frage ohne Community-Wiki zu stellen. –

Antwort

8

Ich denke, Sie können mehr Glück mit einer vollen UIViewController Instanz anstelle von UIActionSheet haben. Das Hinzufügen eines Tastaturverhaltens zu einem Aktionsblatt ist schwierig, wenn nicht unmöglich.

Wenn Sie eine UIViewController Unterklasse erstellen, können Sie Ihren Anwendungsdelegaten in -application:didFinishLaunchingWithOptions: präsentieren. Angenommen, Sie verwenden eine Art von UIViewController oder UINaviagtionController für Ihre Hauptschnittstelle, können Sie den Passwortsichtcontroller beim Start unter Verwendung von UIViewController - presentModalViewController:animated: modal präsentieren lassen.

Sobald Sie Ihren Passwort-View-Controller haben, müssen Sie eine UITextField für die Passworteingabe hinzufügen. Machen Sie das Textfeld zu firstResponder (indem Sie becomeFirstResponder darauf aufrufen), und dies wird dazu führen, dass die Tastatur angezeigt wird. Sie können auch die Eigenschaft keyboardAppearance im Textfeld festlegen, um zu steuern, wie die Tastatur angezeigt wird, wenn Sie zum Beispiel auf eine numerische PIN im Vergleich zu einem vollständigen Passwort beschränken möchten. Es kann auch wünschenswert sein, die Eigenschaft secureTextEntry einzustellen, um zu verhindern, dass das tatsächliche Passwort angezeigt wird. Für beide Optionen siehe das Protokoll UITextInputTraits unter UITextField.

Um die App sicher zu machen, würden Sie Ihren Passwortsicht-Controller erstellen, so dass er keine Schaltflächen oder Navigationsoptionen außer einer Schaltfläche "Senden" oder "Anmelden" hat. Wenn der Benutzer das richtige Kennwort eingibt, wird der Modalansicht-Controller geschlossen und eingelassen. Wenn das Kennwort nicht bekannt ist, besteht die einzige Möglichkeit darin, auf die Schaltfläche Start zu tippen, um die Anwendung zu beenden, da sie nicht fortfahren kann jenseits des Modal View Controllers.

+0

Vielen Dank! Das macht Sinn es zu lesen. Ich hatte jedoch noch keine Gelegenheit, es auszuprobieren. Ich schätze Ihre Hilfe! – Thomas

+0

Das Implementieren von [UIKeyInput Protocol Reference] (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKeyInput_Protocol/Reference/Reference.html) wäre ebenfalls eine gute Idee, damit Sie das Passwort zurücksetzen können der zugrunde liegende Datenspeicher. Die Nullung wird normalerweise von NIST, DoD (STIGs), CIS (Security Benchmarks) usw. verlangt. – jww

+0

Wo kann ich einen Passcode sicher aufbewahren? – surlac

1

Was ist mit einem UIAlertView? Aber ich weiß nicht, ob die App abgelehnt wird oder nicht. Einige sagen ja, der andere nein. Weiß nicht, ob sich die Dinge in der Vergangenheit geändert haben.

Hier einige Links:

http://junecloud.com/journal/code/displaying-a-password-or-text-entry-prompt-on-the-iphone.html

UITextField in UIAlertView on iPhone - how to make it responsive?

http://iphone-dev-tips.alterplay.com/2009/12/username-and-password-uitextfields-in.html

http://discussions.apple.com/thread.jspa?threadID=1674641&start=15&tstart=0

http://icodeblog.com/2009/11/09/iphone-coding-tutorial-inserting-a-uitextfield-in-a-uialertview/

Die meisten Links machen das gleiche, sie verwenden alle CGAffineTransformMakeTranslation. Jemand hat gesagt, dass dies für iOS 4 nicht benötigt wird. Und manchmal gibt es Probleme. Habe es nicht ausprobiert, weil ich nicht abgelehnt werden will ...

+0

Danke! Ich hatte nicht mehr viel Zeit, um an dieser App zu arbeiten, aber wenn ich sie wieder aufnehme, werde ich sicher sein, dass ich dir deinen Rat ansehe. Vielen Dank! – Thomas

Verwandte Themen