Estoy usando el Facebook SDK
encontrado aquí y estoy probando la muestra que se proporciona (en la carpeta FacebookiOSSample
).
Si simplemente reemplazo el AppId
aquí con mi específico AppId
, entonces ya no puedo Compartir. (Lo reemplacé tanto en el AppDelegate
archivo como en el info.plist
archivo). 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 plist?
De lo contrario, esto funciona bien con el original de la muestra AppId
que apunta a algo con nombre IFaceTouch
.
¿Qué podría estar mal con la configuración de mi aplicación, cómo registro mi AppId
?
ios
facebook
xamarin
url-scheme
L. Desjardins
fuente
fuente
Respuestas:
Siga estos tres pasos:
La .plist terminada debería verse así:
Enlace de origen:
fuente
En términos de claves y valores sin procesar, debe tener CFBundleURLTypes y CFBundleURLSchemes. ¡Espero que ayude!
fuente
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 el FacebookAppID)
fuente
Para iOS 9
Si tiene un error: 'LSApplicationQueriesSchemes'
Según la respuesta de Bear with me , también tendrás que agregar esas líneas:
<key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array>
Mira esto .
Usted debe terminar con esas líneas al final de los archivos 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>
fuente
<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
fuente
1- En Xcode, haga clic con el botón derecho en el archivo Info.plist de su proyecto y seleccione Abrir como -> Código fuente.
2- Inserte el siguiente fragmento XML en el cuerpo de su archivo justo antes del
</dict>
elemento final .<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb{your-app-id}</string> </array> </dict> </array> <key>FacebookAppID</key> <string>{your-app-id}</string> <key>FacebookDisplayName</key> <string>{your-app-name}</string> <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-share-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
3- Reemplaza {your-app-id} y {your-app-name} con el ID y el nombre de la aplicación de tu aplicación que se encuentran en el panel de control de la aplicación de Facebook.
fuente
Hoy resolví este error simplemente eliminando el espacio de FacebookDisplayName .
asegúrese de no tener ningún espacio en FacebookDisplayName
fuente
No sé si tu problema es el mismo que el mío. Pero me tomó algo de tiempo encontrarlo y lo pondré aquí para que pueda ayudar a cualquiera. El problema fue que el inicio de sesión de Google usaba el mismo nombre de atributo info.plist y estaba anulando los de Facebook. Podía ver esto en X-Code y juntarlos, ¡ahora todo funciona bien! (Atributo Tipos de URL).
fuente
En mi caso, ya tenía las claves LSApplicationQueriesSchemes y CFBundleURLTypes en mi info.plist, cuando las agregué nuevamente por separado en info.plist. no leyó el segundo y no reconoce. Así que agregar valores en las claves LSApplicationQueriesSchemes y CFBundleURLTypes anteriores resolvió mi problema.
fuente
También estaba enfrentando el mismo problema. Entonces 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 está solucionado ahora.
fuente