SDK de Facebook: aplicación no registrada como esquema de URL

Estoy usando el Facebook SDK encuentra aquí , y estoy probando la muestra que se proporciona (en la carpeta FacebookiOSSample ).

Si simplemente reemplazo la AppId aquí con mi AppId específica, entonces ya no puedo compartir. (Lo reemplacé tanto en el archivo AppDelegate como en el archivo info.plist ). Ahora recibo el siguiente error:

FBSDKLog: uso no válido de FBAppCall, fb **** no está registrado como un Esquema de URL. ¿Estableció ‘FacebookUrlSchemeSuffix’ en su lista?

De lo contrario, esto funciona bien con AppId original de la muestra que apunta a algo llamado IFaceTouch .

¿Qué podría estar mal con la configuración de mi aplicación? ¿Cómo registro mi AppId ?

Sigue estos tres pasos:

  1. Cree una clave llamada FacebookAppID con un valor de cadena y agregue allí la ID de la aplicación.
  2. Cree una clave llamada FacebookDisplayName con un valor de cadena y agregue el Nombre para mostrar que configuró en el Tablero de aplicaciones.
  3. Cree una clave de matriz llamada tipos de URL con un único subelemento de matriz llamado Esquemas de URL . Dale un solo elemento con tu ID de aplicación con el prefijo fb. Esto se utiliza para garantizar que la aplicación reciba la URL de callback del flujo de OAuth basado en la web.

El .plist terminado debería verse más o menos así:

enter image description here

Enlace de origen:

En términos de claves sin procesar y valores, debe tener CFBundleURLTypes y CFBundleURLSchemes

En términos de claves sin procesar y valores, debe tener CFBundleURLTypes y CFBundleURLSchemes. ¡Espero que ayude!

hay otra sección debajo de la información – Tipos de URL

compruebe que los valores allí, en el campo Esquemas de URL , coincidan con el valor en los tipos de URL -> Esquemas de URL en la lista de propiedades anterior. (y también coincide con FacebookAppID)

TIPOS DE URL

Para iOS 9

Si tiene un error: ‘LSApplicationQueriesSchemes’

Basado en la respuesta Bear with me , también deberás agregar esas líneas:

 LSApplicationQueriesSchemes  fbauth2  

Mira esto

Deberías terminar con esas líneas al final de tus archivos .plist:

 CFBundleURLTypes   CFBundleURLSchemes  fb2R3234544534554    FacebookAppID 2R3234544534554 FacebookDisplayName stevejeff NSAppTransportSecurity  NSExceptionDomains  facebook.com  NSIncludesSubdomains  NSThirdPartyExceptionRequiresForwardSecrecy   fbcdn.net  NSIncludesSubdomains  NSThirdPartyExceptionRequiresForwardSecrecy   akamaihd.net  NSIncludesSubdomains  NSThirdPartyExceptionRequiresForwardSecrecy     LSApplicationQueriesSchemes  fbauth2    

* Si usa v4.6.0 o superior del SDK, solo necesita agregar: * (Gracias mohsinj )

  LSApplicationQueriesSchemes  fbapi fb-messenger-api fbauth2 fbshareextension  

Vaya a este enlace Seleccione su aplicación, y configure su info.plist

Hoy resolví este error simplemente eliminando espacio de FacebookDisplayName .

asegúrate de no tener espacio en FacebookDisplayName

1- En Xcode, haga clic derecho en el archivo Info.plist de su proyecto y seleccione Abrir como -> Código fuente.

2- Inserta el siguiente fragmento XML en el cuerpo de tu archivo justo antes del último elemento .

  CFBundleURLTypes   CFBundleURLSchemes  fb{your-app-id}    FacebookAppID {your-app-id} FacebookDisplayName {your-app-name} LSApplicationQueriesSchemes  fbapi fb-messenger-share-api fbauth2 fbshareextension  

3- Reemplace {su-id-de-aplicación}, y {su-nombre-de-la-aplicación} con el ID y el nombre de la aplicación de su aplicación que se encuentran en el Tablero de la aplicación de Facebook.

Yo también estaba enfrentando el mismo problema. Entonces hizo esto:

CFBundleURLSchemes fb154510174913175 fbauth2 // add this line to remove the error

y el problema está solucionado ahora.