0

アカウントへのサインインに関連するアプリを開発しました。これらのユーザー情報はSQLite データベースに保存されるため、ユーザーもアプリに登録できます。

問題は、ユーザーがアカウントからログアウトしてから再ログインすると、アプリがユーザーに再度ログインするように要求することです。ユーザー名とパスワードを記憶し、自動的にログインする必要があるため、これが発生したくありません。

これを行う方法を知っている人はいますか?

4

3 に答える 3

5

AppDelegate.mファイルに、メソッドを追加しますNSUserDefaults...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

    if ([standardUserDefaults valueForKey:@"dbID"]==nil) {          
        [standardUserDefaults setObject:@"1" forKey:@"dbID"];
        [standardUserDefaults synchronize];
    }

}

また、ユーザー名とパスワードを正しく保存して、NSUserDefaults. ログアウト機能のために、アプリケーションをログアウトしたい場所にコードログアウトコードを追加します...

-(IBAction)Logout :(id)sender {

    [[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"dbID"];   
    [NSUserDefaults resetStandardUserDefaults];
}

ログイン時にdbIDnullであることを確認してから、ユーザー名とパスワードを使用してユーザーログインします。古いユーザー名とパスワードでログインしてdbIDいない場合。null

アプリケーションをログアウトせずに終了する場合は、dbID を NSUserDefaults に「1」として保存し、View Controller をリダイレクトして、ログオン時にユーザー名とパスワードを保存します...保存のために

[[NSUserDefaults standardUserDefaults] setValue:@"Your text field value" forKey:@"Username"];
[[NSUserDefaults standardUserDefaults] setValue:@"Your text field value" forKey:@"password"]; 

読む

NSString * _UserName = [[NSUserDefaults standardUserDefaults] stringForKey:@"Username"];
NSString * _password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];

ユーザー名とパスワードを NSUserDefaults に保存すると、ユーザー名とパスワードが NSUserDefaults に保存されていることが示されます。

ボタンでアプリケーションをログアウトした場合は、NULL のユーザー名とパスワードを作成して NSUserDefaults を保存します。

[[NSUserDefaults standardUserDefaults] setValue:@"" forKey:@"Username"];
    [[NSUserDefaults standardUserDefaults] setValue:@"" forKey:@"password"];
于 2012-10-16T04:51:08.073 に答える
1

NSUserDefaults を使用します。これはうまくいきます

NSUserDefaults *rememberDefault = [NSUserDefaults standardUserDefaults];
if ([[rememberDefault valueForKey:@"Autologin"] isEqualToString:@"Autologin_on"]) {
    btnAutoLogin.selected =NO;
}else {        
    btnAutoLogin.selected =YES;
}

あなたのボタン アクション メソッドで:

-(IBAction)btnOnOffSwitch:(UIButton *)sender{ 

    if (sender.selected) {
        sender.selected = NO;
    }else {        
        sender.selected = YES;
    }    
}

確認したい場合は、これを使用します:

NSUserDefaults *rememberDefault = [NSUserDefaults standardUserDefaults];

if([[rememberDefault valueForKey:@"Autologin"] isEqualToString:@"Autologin_on"])

{

     write your code here. to push directly to your home screen. this should be checked in your login screen

}
于 2012-10-16T04:42:01.983 に答える
0

これはあなたを助けるかもしれません。

ユーザーがその時点で初めてログインに成功したときの状態については、 username 、 password 、およびユーザー ID を格納するための 1 つの辞書を作成します。それ以外の場合は、この 3 つのタイプに対して 3 つの異なる nsuserdefault オブジェクトを作成します。

ユーザーがそのログイン画面に再び来たときに、nsuser のデフォルト値が空であるか、何らかの値があることを確認してください。値が存在する場合は、すでにログインしており、次のページに直接リダイレクトできます..それ以外の場合は、ログインページを表示します..

ここでは、ソースコードではなくロジックのみを記述しているので、自分で試して詳細を学ぶことができます:)。

これがあなたを助けることを願っています。

于 2012-10-16T04:55:37.670 に答える