2017-12-20 8 views
0

Ich versuche, Facebook-Login in Objective-C-basierte Anwendung zu integrieren. Jede einzelne Konfiguration wurde aus der Facebook-Entwicklerdokumentation erstellt.Facebook Login leere Seite iOS-Anwendung

Das Problem ist, dass ich leere Ansicht statt Login-Ansicht bekomme. Dies geschieht in allen Geräten und Simulatoren.

Kann jemand bitte helfen, dieses Problem herauszufinden.

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login 
    logInWithReadPermissions: @[@"public_profile",@"email"] 
    fromViewController:self 
    handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     if (error) { 
      NSLog(@"Process error"); 
     } else if (result.isCancelled) { 
      NSLog(@"Cancelled"); 
     } else { 
      NSLog(@"Logged in"); 
     } 
    }]; 

Plist Konfiguration

<dict> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>fbXXXXXXXXXXXXXX</string> 
      </array> 
</dict> 

<key>FacebookAppID</key> 
    <string>XXXXXXXXXXXX</string> 
    <key>FacebookDisplayName</key> 
    <string>App Name Here</string> 

    <key>LSApplicationQueriesSchemes</key> 
    <array> 
     <string>fbapi</string> 
     <string>fbauth2</string> 
    </array> 

Dank enter image description here

+0

Können Sie den Code –

+0

@Sh_Khan teilen nur die Frage mit dem Standard-Login-Code aktualisiert snnipet –

+0

Versuchen Addiert man diese: var loginButton = FBSDKLoginButton() loginButton.center = self.view.center self.view.addSubview (loginButton) Ich glaube, Sie vergessen zu Login-Taste auf Ihrem View-Controller hinzufügen –

Antwort

0

Endlich die Lösung. Ändern Sie einfach das Anmeldeverhalten von Native App zu FBSDKLoginBehaviorWeb.

0

Ich weiß, das in schnellen, aber versuchen, es zu konvertieren, es funktioniert bei mir einwandfrei

<key>FacebookAppID</key> 
<string>id_Here</string> 
<key>FacebookDisplayName</key> 
<string>YourAppName</string> 

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>fb_id_Here</string>   
     </array> 
    </dict> 
</array> 

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 



    let facebookLogin = FBSDKLoginManager() 

    facebookLogin.logOut()   

    facebookLogin.logIn(withReadPermissions: ["public_profile","email", "user_friends"], from:self, handler: 
     { 


      (facebookResult, facebookError) -> Void in 


      let requestMe:FBSDKGraphRequest = FBSDKGraphRequest.init(graphPath: "/me", parameters: ["fields": "id,email, first_name, last_name, gender, picture"]) 


      let connection : FBSDKGraphRequestConnection = FBSDKGraphRequestConnection() 



      connection.add(requestMe, completionHandler: { (con, results, error) in 

       //access_token 

       if ((error) == nil) 

       { 

        print("fname is 20 : \(results!)") 



       } 
       else 

       { 


       } 

      }) 


      connection.start() 

      if facebookError != nil 
      { 
       print("Facebook login failed. Error \(String(describing: facebookError))") 
      } 
      else if (facebookResult?.isCancelled)! 
      { 

       print("Facebook login was cancelled.") 

      } 
      else 
      { 


      } 
    }) 

App Delegierter

// 9 and later 


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

{ 

    if #available(iOS 9.0, *) { 
     let sourceApplication: String? = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String 


      return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: sourceApplication, annotation: nil) 

    } 
    else 
    { 


      print("cvcvcvcvcvcvcc") 


     } 

    return true 

    } 

//ios 8 

public func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 


    print("qoqpqpqpqpqpqpqpqppq45") 

    return FBSDKApplicationDelegate.sharedInstance().application(application, open: url as URL!, sourceApplication: sourceApplication, annotation: annotation) 


} 
+0

Das sieht der Objective-C-Version sehr ähnlich. Eigentlich nicht im Code, sondern irgendwo in der Konfiguration. –

+0

download Facebook App oder Abmeldung von Safari –

+0

Gleiches Problem, kein Glück –