0

アプリでNSUser Defaultsを使用しましたが、通常、サインアップ中にユーザーデータを保存し、ログアウト中にそれらのデータを削除します。そのため、ユーザーがサインアップしてログインすると、ユーザーがアプリを閉じて再度開いた場合でも、NSUser Defaults に保存されたデータによって自動ログイン部分が有効になります。

しかし、問題は、ユーザーがログアウトすると、再度サインアップするように求められることです。私が望むのは、ユーザーがサインアップした場合、その情報を永続的に保存する必要があり、サインアウトしたときに、ログインページのメモリをクリアするだけであるため、再度サインアップするように求めるべきではなく、他のユーザーが使用できるようにすることです同じアプリ。

iOS 5を使用しています。では、SQLiteデータベース (サインアップ情報を永続的に保存するため) とNSUser Defaults (ログイン ページのメモリをクリアするため) をアプリで一緒に使用できますか? または、これに対する代替ソリューションはありますか?

4

2 に答える 2

2

自動ログイン システムを使用していて、ユーザー名とパスワードを保存している場合は、NSUSerDefaults ではなく、キーチェーンを使用する必要があります。

キーチェーンの使用に関する詳細については、こちらをお読みください。

キーチェーンを使用してログインセッションを制御することもできます。よくわかりませんが、ユーザーがアプリを削除しても、アプリを再インストールした場合に備えて詳細がキーチェーンに残ると思います

于 2012-10-18T04:51:56.163 に答える
1

It seems that your app is offline and multiple users can signup and login in the same app (phone), so i think that best approach will be to save the signup data in sqlite database (you can use coredata) and login info in NSUserDefaults. So when user logsout you just clear your NSUserDefaults value only. Also at login time you can check from your databases that user exist or not as all the users data who have signedup is stored in your database. Also if there is a functionality that user can delete his account, than just clear that user entry from the database. Hope this helps....

于 2012-10-18T04:38:29.467 に答える