0

これらのチュートリアルhttp://www.raywenderlich.com/1488/how-to-use-facebooks-new-graph-api-from-your-iphone-appを使用してiPhoneにFacebookグラフAPIを実装しています が、Facebookログインをタップするとこのようなnslogファイルでエラーが発生するボタン

2013-01-09 18:50:54.509 FBFun[3279:11303] *** WebKit discarded an uncaught exception in the webView:decidePolicyForNavigationAction:request:frame:decisionListener: delegate: <NSInvalidArgumentException> Application tried to present modally an active controller <ViewController: 0x75446a0>.

このリンクに投稿された回答で問題を解決しようとしてい
ますiOS 5の新しいエラー:WebKitがキャッチされていない例外を破棄しました これはリンクの回答です

-(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];
    }
}

しかし、私は親切にも成功していません。誰かがこの投稿に関する回答を持っているので、私と共有してください

4

2 に答える 2

1

そのチュートリアルを終了します。

これを使用してください。簡単で、手順は次のとおりです。

ここから Facebook の新しい SDK をダウンロードします。レイのチュートリアルで以前行っていたように、個別の呼び出しを行う必要はありません。

https://developers.facebook.com/ios/

初心者が Facebook の SDK から Graph API/FQL などを使用およびアクセスするための最も簡単なチュートリアル:

https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/

それが役に立てば幸い。

于 2013-01-09T18:47:42.360 に答える
0

RayWenderLich チュートリアルを使用して Graph Api を実装するコードで同じ問題が発生しました が、何時間もの調査とコードのデバッグの後に解決しました。

便宜上変更したコード。

  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSString *urlString = request.URL.absoluteString;

    [セルフ checkForAccessToken:urlString];

    if (self.isViewLoaded && self.view.window) {

       // viewController is visible
    
       return TRUE;
    

    }

    [自己checkLoginRequired:urlString];

    TRUE を返します。

}

-(void)checkLoginRequired:(NSString *)urlString {

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

    if ([urlString rangeOfString:@"login.php"].location != NSNotFound && [urlString rangeOfString:@"refid"].location == NSNotFound) {
        NSLog(@"Login Required");
        [_delegate displayRequired];

    } else if ([urlString rangeOfString:@"login_success"].location != NSNotFound) {
        NSLog(@"login_success");

       //any thing you want to do after log in success.
    }
于 2013-03-22T15:15:34.820 に答える