7

UIWebViewFacebook OAuth 認証 URLをロードしようとしており、次のコードを使用しています。Facebook のログイン ページが読み込まれたらUIWebView、資格情報を入力して [ログイン] ボタンを押します。ボタンを押すと、次のエラーが表示されます。

WebKit は、 webView:decidePolicyForNavigationAction:request:frame:decisionListener:delegate: Application try to present a active controller でキャッチされていない例外を破棄しました。

この同じコードは、iOS 4.3 以前のバージョンでは正常に機能しますが、iOS 5.0 では機能しません。問題がわかりません、誰か助けてくれませんか?

NSString *redirectUrlString = @"http://www.facebook.com/connect/login_success.html";
NSString *authFormatString = @"https://graph.facebook.com/oauth/authorize?client_id=%@&redirect_uri=%@&scope=%@&type=user_agent&display=touch";

NSString *urlString = [NSString stringWithFormat:authFormatString, _apiKey, redirectUrlString, _requestedPermissions];
NSURL *url = [NSURL URLWithString:urlString];

NSLog(@"NSURL: %@", urlString);

NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
4

2 に答える 2

22

Ray Wenderlichコードを使用していますか? (FBFunLoginDialog)..これで修正されることがわかりました:

-(void)checkLoginRequired:(NSString *)urlString {
    NSLog(@"Url: %@",urlString);
    if ([urlString rangeOfString:@"login.php"].location != NSNotFound && [urlString rangeOfString:@"refid"].location == NSNotFound) {
            [_delegate displayRequired];
    } else if ([urlString rangeOfString:@"user_denied"].location != NSNotFound) {
         [_delegate closeTapped];
    }
}
于 2011-10-26T13:23:48.893 に答える
0

私も同じ問題を抱えてる。閉じた直後にView Controllerを提示しようとします。

[self dismissModalViewControllerAnimated:YES];

アニメーションなしでやろうとすると、完全に機能します。DismissViewControllerAnimated:completion: を使用します。

于 2011-12-06T04:00:10.337 に答える