2013-02-05 10 views
6

私はwcf Webサービスを使用するアプリケーションを持っており、ログインに成功した後、10分のセッションを有効にしたいと考えています。ユーザーがアイドル状態になっている場合や、アプリがバックグラウンドで10分間続いている場合、セッションは期限切れになり、アプリはログインの詳細を再度尋ねる必要があります。iphoneアプリでセッションを作成して管理する方法は?

私はユーザー名とパスワードを保存するためのキーチェーンを使用しているし、それが動作するが、私はセッションの有効期限が切れている場合、セッションが期限切れになったと、ログインページにない場合は、ユーザーがメインページにリダイレクトされるようにセッションを追加したい...

これは繰り返し質問ですが、私は他の質問から適切な答えを得ていないので、私はそれを書かなければなりませんでした。助けてください。

+0

外観を働いた:http://stackoverflow.com/questions/2070754/iphone-session-management/16934038#16934038 –

答えて

10

これを使用してくださいLinkこれは私の作品です。

NSUserDefault iosのセッションを作成する。

私もこのチュートリアルでiosでセッションを作成しました。

EDIT:ログインが成功している場合

私は自分のアプリケーション

の最初のページでログイン画面を持つサーバによって認証それから私は、この方法のようNSUserDefaultに私のユーザー名&パスワードを保存:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:userNameText forKey:@"username"];    
    [defaults setObject:passWordText forKey:@"password"]; 
    [defaults synchronize]; 

ログインボタンのOnclick &はダッシュボードにリダイレクトされます。

ダッシュボードの場合ログアウトボタンはユーザーがクリックすると表示されますログアウトすべてのデータをこのように削除します。他の条件で

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults removeObjectForKey:@"username"]; 
    [defaults removeObjectForKey:@"password"]; 
    [defaults synchronize]; 

& ユーザ名 & パスワードLoginpageのViewDidAppear中にNSUserDefault に保存されているwheatherその時点でのuの二度目のオープンアプリをチェックしたときに、ユーザーに近いアプリがNSUSerDefaultが格納されている場合

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    // check if user is alraidy Login 
    if([defaults objectForKey:@"username"]!=nil && ![[defaults objectForKey:@"username"] isEqualToString:@""]){ 
     // Redirected to Dashboard. 
} 

sucessfullがダッシュボードにリダイレクトされた場合。

+0

NSUserDefaultを使用してセッションを作成した方法を指定できますか? – Shaunak

+2

これは自動ログインのためのもので、ユーザーが非常に長い間アイドル状態のままセッションを開始したり終了したりすることはありません。 – Shaunak

+0

詳細については、NStimerのヒント –

0

あなたがAFNetworking framework使用することができますが、それはオートストアセッション、私は私のAPIをテストしていたし、それがここに

+1

AFNetworkingはどうやって写真になりますか?ネットワーク接続をチェックするために使用されます。 –

関連する問題