0

したがって、ログインのためにアプリケーションで行う必要があるのは、トークンを含む XML を返すユーザー/パスを使用して HTML 要求を実行することです。トークンは、後の http 要求で使用されます。

http リクエストを実行する方法とそれらを解析する方法を知っています。テスト目的でハードコードされたトークンだけを使用して、すでにそれを行っています。また、アプリケーション設定を使用して、次の方法でパスワードの入力と取得を許可する方法も解決しました。

NSString* settingValue = [[NSUserDefaults standardUserDefaults] stringForKey:@"<Setting Key>"]

問題は、アプリケーションの起動時にこれを実行したい場合、どこでこれを行うべきかということです。ユーザーにフィードバックを与えずに起動したときにアプリケーションがハングしたくありません。ユーザー/パスが設定されていないか、サーバーによって拒否されたかがわかります。あなたのアドバイスは何ですか?ありがとう

4

1 に答える 1

0

私が開発しているアプリでは、別のスレッドの最初のビューでそれを行います。このように、UIをロックしません。また、メインビューの代理人としても実行するので、進行状況バーの進行状況を報告できます。後で、認証の読み込み中に認証を必要としないアプリの部分を使用できるように、影付きのスライドとして表示します。

IMOをアプリデリゲートで行うと、認証に数秒かかる場合があり、これをユーザーに簡単に報告することはできません。

認証を処理する最良の方法は、HTMLリクエストを使用しているのと同じようにCookieを使用することです。これらのCookieは、(認証を行ったクラスだけでなく)NSHTTPCookieStorageアプリ全体を使用して取得できます。トークンを引き続き使用する場合は、Application Delegateクラス(myApplicationAppDelegate.h)にグローバル変数を作成できます。

PS、デバイスにプレーンテキストで保存されているNSUserDefaultsにユーザー名とパスワードを保持しません。代わりにキーチェーンを使用してください。

于 2010-02-11T03:59:51.600 に答える