1

私は2つの異なるクラスの2つのメソッドを持っています。

クラス「A」には、ログインを実行する NSURLConnection を使用するログイン機能があります。クラス「B」には、ログインすると、別の nSURLConnection 呼び出しでデータを取得するまったく異なる機能があります。

関数「B」は、すでにログインしている場合にのみ実行できますが、それが問題です。最初にログインすると、ログインに成功したと表示されますが、他のメソッドを呼び出すと、ログインしていないと表示されるため拒否されます。

セッションの問題だと思ったので、よく検索したところ、次のことがわかりました。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [receivedData setLength:0];
    NSHTTPURLResponse *urlResponse = (NSHTTPURLResponse *)response;

    NSArray *allCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:[urlResponse allHeaderFields] forURL:[response URL]];

    if ([allCookies count]) {
        [connection cancel];

        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookies:allCookies forURL:[response URL] mainDocumentURL:nil];
    NSLog(@"fatto cookie! %@", allCookies);
    }
}

クラス「A」で呼び出して、「理論的に」セッションをグローバルに保存しますが、そうではありません。

誰でもそれを手伝ってもらえますか?私は何が欠けていますか?

ありがとう。

4

0 に答える 0