0

実行中および動作中のリンクがありOAuthStarterKitます (Web ビューが遅いです!) 基本ビューには、ポップアップ Web ビューが閉じられたことを検出するための基本的なコードが付属しています (次の関数を参照)。

問題は、Linkedin サインイン ページが表示されたときにユーザーがキャンセル ボタンをクリックしたことを検出できないことです。URL: https://www.linkedin.com/uas/oauth/www.core.me

「キャンセルされた」ページをフィルタリングするにはどうすればよいですか?

ビューをキャンセル エラー

コードのフィルタリング/クローズ

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{
    NSURL *url = request.URL;
    NSString *urlString = url.absoluteString;

    addressBar.text = urlString;
    [activityIndicator startAnimating];

    BOOL requestForCallbackURL = ([urlString rangeOfString:linkedInCallbackURL].location != NSNotFound);
    if ( requestForCallbackURL )
    {
        BOOL userAllowedAccess = ([urlString rangeOfString:@"user_refused"].location == NSNotFound);
        if ( userAllowedAccess )
        {            
            [self.requestToken setVerifierWithUrl:url];
            [self accessTokenFromProvider];
        }
        else
        {
            // User refused to allow our app access
            // Notify parent and close this view
            [[NSNotificationCenter defaultCenter] 
                    postNotificationName:@"loginViewDidFinish"        
                                  object:self 
                                userInfo:nil];

            [self dismissModalViewControllerAnimated:YES];
        }
    }
    else
    {
        // Case (a) or (b), so ignore it
    }
    return YES;
}
4

1 に答える 1

0

答え!

これが私のコードで使用することになったものです!それが誰かを助けることを願っています!

- (void)webViewDidFinishLoad:(UIWebView *)mwebView
{
    [activityIndicator stopAnimating];
    NSString *html = [mwebView stringByEvaluatingJavaScriptFromString:
                      @"document.body.innerHTML"];

    if ([html rangeOfString:@"Page Not Found"].location != NSNotFound) {
        // This could be any string - I used "Page Not Found" 
        [[NSNotificationCenter defaultCenter]
         postNotificationName:@"loginViewDidFinish"
         object:self
         userInfo:nil];

        [self dismissModalViewControllerAnimated:YES];
    }
}
于 2012-08-24T08:50:53.373 に答える