ios - appid - fbsdkcorekit
iOS: error de inicio de sesiĆ³n de Facebook: error desconocido al crear la URL(error com.facebook.sdk.core 3) (6)
En la terminal & Navegue a la carpeta del proyecto use
actualización de pod
para actualizar a la versión actual 4.39.1
Estoy utilizando el inicio de sesión de Facebook para mi aplicación iOS que se está desarrollando para iOS 8 y posteriores. (Se está utilizando el último SDK de Facebook)
He seguido todos los pasos esenciales descritos en la guía oficial de Facebook. Sin embargo, cuando hago clic en el botón de inicio de sesión, aparece el siguiente error:
Error desconocido al crear la URL (error com.facebook.sdk.core 3)
He comprobado, para ver lo que podría haber hecho mal, pero todo parece según la guía, y he estado atrapado aquí por un día.
Código para el delegado de inicio de sesión de FB:
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
}
}
}
Código para el botón de inicio de sesión de FB:
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
Estaba siguiendo las instrucciones de reaccionar-nativo-fbsdk en las que se supone que debes copiar los archivos / carpetas de Framework en el proyecto. Por lo tanto, el enfoque de Cocoapod dado anteriormente no funcionó para mí.
Lo que hice fue eliminar los archivos de Framework existentes del proyecto (haga clic con el botón derecho en los elementos de Framework -> Delete -> Yes Remove all), y luego agregue las versiones anteriores de Frameworks nuevamente descargándolos de:
Este es un error del SDK de Facebook en la versión 4.39.0 que está causando este error. Para resolver este error, simplemente reduzca la calificación de CoreKit y LoginKit a 4.38.0, borre los datos derivados y limpie la carpeta de compilación (CMD + OPCIÓN + MAYÚS + K). Considerando que 4.38.1 también funciona bien.
pod ''FBSDKCoreKit'', ''~> 4.38.0''
pod ''FBSDKLoginKit'', ''~> 4.38.0''
Si está utilizando FacebookCore y FacebookLogin, haga lo siguiente.
pod ''FacebookCore''
pod ''FacebookLogin''
pod ''FBSDKCoreKit'', ''~> 4.38.0''
pod ''FBSDKLoginKit'', ''~> 4.38.0''
Para mí, el problema fue que el ID de la aplicación de Facebook indicado en CFBundleURLTypes
> CFBundleURLSchemes
en Info.plist
se explicó de manera incorrecta.
Estaba importando el ID de la aplicación desde un archivo .xcconfig
para que su valor subyacente cambie dependiendo de si estoy ejecutando un esquema de Debug
o Release
. Sin embargo, cuando imprimí el archivo plist, había comillas innecesarias alrededor del ID de la aplicación cuando se leía desde los archivos xcconfig
. Por ejemplo, donde el esquema de URL debería ser fb012345678
, era fb"012345678"
.
Intenté codificar correctamente los identificadores de la aplicación en la Info.plist
tal como se indica en la guía de Facebook, y el FBSDKLoginButton
acaba de funcionar. Safari apareció para mostrar la pantalla de inicio de sesión de Facebook. Sin embargo, no tiene que codificar las identificaciones de forma Info.plist
, solo asegúrese de que estén correctamente sustituidas en Info.plist
.
Si actualizó el SDK de iOS de Facebook a la versión 4.39.0, hay un error que causa este error. Bajar de categoría a 4.38.1 le ayudará a resolver este problema. Asegúrese de degradar tanto FBSDKCoreKit como FBSDKLoginKit.
pod ''FBSDKCoreKit'', ''~> 4.38.0''
pod ''FBSDKLoginKit'', ''~> 4.38.0''
Asegúrese de limpiar la carpeta de compilación y volver a compilar el SDK.
actualización : este error se ha corregido en la versión 4.39.1 SDK. https://developers.facebook.com/docs/ios/change-log-4x/
Tuve que hacer dos cosas para que esto funcione.
1. Bajar las vainas a
pod ''FBSDKCoreKit'', ''~> 4.38.0''
pod ''FBSDKLoginKit'', ''~> 4.38.0''
2. Elimine -ObjC de otras banderas del enlazador
Aunque esto ha sido sugerido en el portal de desarrolladores de facebook. Esto generaba el siguiente error:
com.facebook.sdk: FBSDKErrorDeveloperMessageKey = Error desconocido al crear la URL.
Espero que esto ayude.