Facebook SDK: la aplicación no está registrada como un esquema de URL

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

Si simplemente reemploop el AppId aquí con mi AppId específico, entonces ya no puedo Compartir. (Lo he reemplazado tanto en el file AppDelegate como en el file info.plist ). Ahora recibo el siguiente error:

FBSDKLog: El uso no válido de FBAppCall, fb **** no está registrado como un esquema de URL. ¿Configuró 'FacebookUrlSchemeSuffix' en su plist?

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

¿Qué podría estar mal con la configuration de mi aplicación? ¿Cómo puedo registrar mi AppId ?

Sigue estos tres pasos:

  1. Cree una key llamada FacebookAppID con un valor de cadena y agregue allí la ID de la aplicación.
  2. Cree una key llamada FacebookDisplayName con un valor de cadena y agregue el Nombre para mostrar que configuró en el Panel de aplicaciones.
  3. Cree una key de matriz denominada types de URL con un único sub-elemento de matriz denominado Esquemas de URL . Déle un solo elemento con su 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 ser similar a esto:

introduzca la descripción de la imagen aquí

Enlace de origen:

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

En términos de keys y valores brutos, 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 coinciden con el valor en los types de URL -> Esquemas de URL en la list de properties anterior. (y también coinciden con FacebookAppID)

TIPOS DE URL

Para iOS 9

Si tiene un error: 'LSApplicationQueriesSchemes'

Basado en Bear with me answer , también tendrá que agregar esas líneas:

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

Mira esto

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

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb2R3234544534554</string> </array> </dict> </array> <key>FacebookAppID</key> <string>2R3234544534554</string> <key>FacebookDisplayName</key> <string>stevejeff</string> <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>facebook.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>fbcdn.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>akamaihd.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict> <key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array> </dict> </plist> 

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

  <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array> 

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

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

<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>

y el problema se solucionó ahora.