ios -canOpenURL: URL के लिए विफल: "fbauth2:/"(OSStatus त्रुटि-108-। "




facebook (4)

मैं अपने आवेदन में फेसबुक और Google साइनअप जोड़ रहा हूं लेकिन मेरे पास यह मुद्दा है

ऑपरेशन पूरा नहीं हो सका। -10,814

फेसबुक लॉगिन में और मुझे नहीं पता कि इसे कैसे हल किया जाए, यह मेरा एप्लिकेशन प्रतिनिधि है 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: [:])
                }

            }

मैं क्या कर सकता हूँ?


अब मैंने here से नवीनतम SDK v4.26.0 डाउनलोड किया और मैंने FB के लिए चरणों के link का अनुसरण किया। और मेरा कोड है

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

यहाँ मैंने FBSDKLoginBehaviorSystemAccount रूप में लॉगिन व्यवहार का उपयोग किया है और मुझे इसके लिए त्रुटि मिलती है

(- त्रुटि: "ऑपरेशन पूरा नहीं किया जा सका। -10814)

इसलिए मेरे सिम्युलेटर या डिवाइस में फेसबुक के लिए सिस्टम सेटिंग्स में कोई खाता सेटअप नहीं है। फिर यह निम्नलिखित ब्लॉक पर आता है

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

अगर मैं त्रुटि प्रिंट करता हूं,

फेसबुक अकाउंट नहीं। कोई Facebook खाते कॉन्फ़िगर नहीं किए गए हैं। आप सेटिंग्स में फेसबुक अकाउंट जोड़ या बना सकते हैं।

इसलिए मैंने FBSDKLoginBehaviorSystemAccount से FBSDKLoginBehaviorSystemAccount को बदल दिया, मुझे FBSDKLoginBehaviorWeb मिला


इस thread आप इस तरह की त्रुटि के लिए एक मुद्दा और एक अस्थायी सुधार पा सकते हैं।


विकल्पों के साथ openUrl जोड़ने के बाद काम किया:

फेसबुक प्रलेखन

ध्यान दें कि application:openURL:options: केवल iOS 9 और इसके बाद के संस्करण में उपलब्ध है। यदि आप iOS SDK पुराने संस्करण के साथ निर्माण कर रहे हैं, तो आप इसका उपयोग कर सकते हैं:

- (BOOL)application:(UIApplication *)application 
            openURL:(NSURL *)url 
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

  BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:sourceApplication
    annotation:annotation
  ];
  // Add any custom logic here.
  return handled;
} 

LSApplicationQueriesSchemes गुण सेट info.plist में मेरे लिए समस्या हल हो गई है।
संलग्न स्क्रीनशॉट की जाँच करें:







facebook