wake-up-neo.com

iOS - Facebook-Anmeldefehler - Unbekannter Fehler beim Erstellen der URL (com.facebook.sdk.core-Fehler 3)

Ich verwende das Facebook-Login für meine iOS-App, die ab iOS 8 entwickelt wird. (Das neueste Facebook-SDK wird verwendet)

Ich habe alle wesentlichen Schritte befolgt, die im offiziellen Facebook-Leitfaden beschrieben werden. Wenn ich jedoch auf die Login-Schaltfläche klicke, wird der folgende Fehler angezeigt:

Unbekannter Fehler beim Erstellen der URL (com.facebook.sdk.core-Fehler 3)

Ich habe nachgesehen, um herauszufinden, was ich möglicherweise falsch gemacht habe, aber alles scheint wie pro Führer zu sein, und ich bin hier seit einem Tag festgeblieben.

Code für FB Login Delegate:

class FBLoginDelegate: NSObject,  FBSDKLoginButtonDelegate  {


func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!){
    if(error == nil){
        print("Logged In from Btn")
    }else{
        print("Error: \(error.localizedDescription)") //Here it gives the error 
    }

}
}

Code für die FB-Anmeldeschaltfläche: 

      var fbLoginBtnDelegate = FBLoginDelegate()
    let fbBtnWidth = self.view.bounds.width - (self.fbContainerLeftConstraint.constant + self.fbContainerRightConstraint.constant)
    let fbLoginButton = FBSDKLoginButton(frame: CGRectMake(0,0,fbBtnWidth,self.fbButtonContainer.bounds.size.height))

    self.fbButtonContainer.addSubview(fbLoginButton)
    fbLoginButton.readPermissions = ["public_profile", "user_friends", "email", "user_birthday"]
    fbLoginButton.delegate = fbLoginBtnDelegate
20

Wenn Sie das Facebook iOS SDK auf Version 4.39.0 aktualisiert haben, liegt ein Fehler vor, der diesen Fehler verursacht. Ein Downgrade auf 4.38.1 hilft Ihnen, dieses Problem zu lösen. Stellen Sie sicher, dass Sie sowohl FBSDKCoreKit als auch FBSDKLoginKit herunterstufen.

pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'

Bereinigen Sie den Build-Ordner und erstellen Sie das SDK neu.

update : Dieser Fehler wurde in Version 4.39.1 SDK behoben. https://developers.facebook.com/docs/ios/change-log-4x/

63
David Liu

Dies ist ein Facebook SDK-Fehler in Version 4.39.0, der diesen Fehler verursacht. Um diesen Fehler zu beheben, müssen Sie CoreKit und LoginKit einfach auf 4.38.0 herabstufen, die abgeleiteten Daten sowie den Bereinigungsordner löschen (CMD + OPTION + SHIFT + K). Während 4.38.1 auch gut funktioniert. 

pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'

Wenn Sie FacebookCore und FacebookLogin verwenden, können Sie Folgendes tun.

pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'
7
shanezzar

Für mich bestand das Problem darin, dass die in CFBundleURLTypes> CFBundleURLSchemes in Info.plist angegebene Facebook-App-ID falsch geschrieben wurde.

Ich habe die App-ID aus einer .xcconfig-Datei importiert, sodass sich ihr zugrunde liegender Wert abhängig davon ändert, ob ich ein Debug- oder ein Release-Schema verwende. Als ich die plist-Datei ausgedruckt hatte, gab es beim Lesen aus den xcconfig-Dateien unnötige Anführungszeichen um die App-ID. Wo das URL-Schema beispielsweise fb012345678 sein sollte, war es fb"012345678".

Ich habe versucht, die App-IDs richtig in den Info.plist zu codieren, wie im Facebook-Handbuch angegeben, und die FBSDKLoginButton hat gerade funktioniert. Safari erschien, um den Facebook-Anmeldebildschirm anzuzeigen. Sie müssen die IDs jedoch nicht hartcodieren. Stellen Sie nur sicher, dass sie korrekt in Info.plist eingesetzt werden.

2
Matthew Quiros

Im Terminal & Navigiere zum Projektordner verwenden 

pod-Update

auf die aktuelle Version 4.39.1 aktualisieren

1
Ionz
0

Ich musste zwei Dinge tun, damit das funktioniert.

1. Herabstufen von Pods auf

pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'

2. Entfernen Sie -ObjC von anderen Linker-Flags

Obwohl dies im Facebook-Entwicklerportal vorgeschlagen wurde. Dies erzeugte den folgenden Fehler:

com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Unbekannte Fehlererstellungs-URL.

Hoffe das hilft.

0
shakil080