2017-09-20 15 views
3

私は私のアプリケーションでFacebookとGoogleのサインアップを追加しているが、私はFacebookのログインでこの問題-canOpenURLは: "fbauth2::/" URLに失敗しました(。OSStatusエラー-10814)」

The operation couldn’t be completed. -10814

を持っていますそして私はそれを解決する方法がわからない、これはopenUrlのための私のアプリデリゲートのコードです:

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) 
     -> Bool { 

      if let fbSDKAppId = FBSDKSettings.appID(), url.scheme!.hasPrefix("fb\(fbSDKAppId)"), url.host == "authorize" { 
      var shouldOpen :Bool = FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!,annotation:options[UIApplicationOpenURLOptionsKey.annotation]) 
      return shouldOpen 
      } 
      else { 
       return GIDSignIn.sharedInstance().handle(url, 
                sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, 
                annotation: [:]) 
       } 

      } 

私は何ができるか

+0

を追加してみました次のブロック

if (error) { NSLog(@"Process error"); } 

に来ますinfo.plistの鍵がありません –

+0

@SalmanGhumsani私はそれを追加しましたが動作しません – bero

+0

あなたのアプリがクラッシュしたときは? –

答えて

5

今私はhereからダウンロードした最新のSDK v4.26.0を使用して、私はFBのためにインストールする手順については、linkを追いました。そして私のコードは、私がFBSDKLoginBehaviorSystemAccountとしてログイン動作を使用し、ここで

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] <= 9) { 
    // After iOS9 we can not use it anymore 
    login.loginBehavior = FBSDKLoginBehaviorSystemAccount; 
} else { 
    login.loginBehavior = FBSDKLoginBehaviorWeb; 
} 

NSArray *permission = [[NSArray alloc] initWithObjects:@"email",@"public_profile",@"user_friends", nil]; 
NSLog(@"### running FB sdk version: %@", [FBSDKSettings sdkVersion]); 

[login logInWithReadPermissions:permission fromViewController:(UIViewController *)self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    [self removeActivityIndicatorWithBg:activityIndicator]; 

    if (error) { 
     NSLog(@"Process error"); 
    } else if (result.isCancelled) { 
     NSLog(@"Cancelled"); 
    } else { 
     NSLog(@"Logged in%@",result.grantedPermissions); 
    } 
}]; 

であり、私は私のシミュレータでとても

(- error: "The operation couldn’t be completed. -10814)

としてエラーを取得したり、デバイスがFacebookのためのシステム設定にはアカウントのセットアップが含まれていません。それは私がエラーを印刷する場合、

No Facebook account. There are no Facebook accounts configured. You can add or create a Facebook account in Settings.

はので、私はFBSDKLoginBehaviorSystemAccountからFBSDKLoginBehaviorWebにloginBehaviorを変え、私タイムアウトエラーを持つすべてのOP

+0

すばらしい答えありがとう –

+0

それは私のためにSDK v4.28.0で動作します –

-1

LSApplicationQueriesSchemesに設定されたプロパティ?は私の問題を解決しました。
チェック添付のスクリーンショット:

info.plist

関連する問題