Falta iOS 9 "fbauth2" en Info.plist


147
FBSDKLog: fbauth2 is missing from your Info.plist under LSApplicationQueriesSchemes and is required for iOS 9.0

¿Alguna idea de qué es esto? Lo he agregado en mi lista pero no funcionó.

Respuestas:


347

Puede seguir utilizando esquemas de URL cuando cree su aplicación para iOS 9 y desee llamar a esquemas de URL, ahora deberá declararlos en la lista de aplicaciones Info.plist. Hay una nueva clave, LSApplicationQueriesSchemes , y aquí deberá agregar la lista de esquemas en los que desea que canOpenURL esté activado.

Intenta así.

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

1
Gracias muchacho. Pensé que solo sería necesario si lo estaba construyendo para un dispositivo iOS9.
Felipe

xml copiar / pegar versión por favor: D?
Christopher Francisco

20
¿Por qué esta información no se muestra en el inicio rápido para iOS? developers.facebook.com/quickstarts/926602334080849/…
Paul Brewczynski

1
Gracias. ¿Cómo resolviste esto?
Hernan Arber

1
@PaulBrewczynski No sé por qué no está en la guía de inicio rápido, pero la encontré en los documentos aquí: developers.facebook.com/docs/ios/ios9
TMin

25

Si está utilizando iOS9, esto es importante para actualizar su archivo info.plist. Solo necesita realizar 3 pasos 1. Vaya a info.plist 2. Agregue un campo llamado LSApplicationQueriesSchemes NSArray datatype . 3. Agregue un elemento de tipo de datos NSString y asígnele el nombre fbauth2.

Eso es. Solo limpia y corre. advertencia no volverá a aparecer.ingrese la descripción de la imagen aquí


Estoy ejecutando esto bajo Xcode 7.1 pero usando el simulador de iPhone 6 Plus con iOS 8.1. Esto no debería aparecer, ¿verdad?
Jerome Chan Yeow Heong



5

Simplemente no agregue esto a sus CFBundleURLSchemes ... eso en realidad HIJACK cualquier intento de aplicación en la autenticación de Facebook, causando que aparezca una ventana emergente que muestra el diálogo "X aplicación quiere abrir" ...

NO quieres estar haciendo eso.

cf:

https://developers.facebook.com/docs/applinks/ios
https://www.fireeye.com/blog/threat-research/2015/04/url_masques_on_apps.html
https://www.reddit.com/r/workflow/comments/2tlx29/get_url_scheme_of_any_app

2

Obtuve esto cuando ejecuté mis pruebas de Kiwi ya que nuestro objetivo de prueba no tenía acceso al paquete principal. Así que tuve que agregar una condición isRegisteredCanOpenURLSchemeenFBSDKInternalUtility.m

+ (BOOL)isRegisteredCanOpenURLScheme:(NSString *)urlScheme
{
  static dispatch_once_t fetchBundleOnce;
  static NSArray *schemes = nil;

  dispatch_once(&fetchBundleOnce, ^{
    schemes = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"LSApplicationQueriesSchemes"];
    if (!schemes) { // This is a work around for our Kiwi tests as the Specs target doesn't have access to main bundle
      NSBundle *bundle = [NSBundle bundleForClass:[self class]];
      NSString *path = [bundle pathForResource:@"Info" ofType:@"plist"];
      NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:path];
      schemes = [dictionary valueForKey:@"LSApplicationQueriesSchemes"];
    }
  });

  return [schemes containsObject:urlScheme];
}

Esto funcionó para mí también. No pude conseguir nada más para trabajar. Esto me parece extraño que tengamos que editar el código de Facebook, no se borrará cuando FB actualice sus cocopods.
user2285278

1

Para crear su aplicación para iOS 9: (Para compartir en Facebook)

  1. Abra el Info.plistarchivo, agregue otro campo LSApplicationQueriesSchemes en la Lista de propiedades de información y configure su tipo de datos Arrayo NSArray.
  2. Agregue 3 elementos para LSApplicationQueriesSchemes y establezca su tipo de datos en Stringo NSString.
  3. Asignar fbauth2, fbshareextension, fbapicomo valor del artículo.

Sigue esta foto :

ingrese la descripción de la imagen aquí


0
Write the below code in your info.plist under the **LSApplicationQueriesScheme**

<string>fbapi</string>
        <string>fbapi20130214</string>
        <string>fbapi20130410</string>
        <string>fbapi20130702</string>
        <string>fbapi20131010</string>
        <string>fbapi20131219</string>
        <string>fbapi20140410</string>
        <string>fbapi20140116</string>
        <string>fbapi20150313</string>
        <string>fbapi20150629</string>
        <string>fbauth</string>
        <string>fbauth2</string>
        <string>fb-messenger-api20140430</string>
        <string>fb-messenger-platform-20150128</string>
        <string>fb-messenger-platform-20150218</string>
        <string>fb-messenger-platform-20150305</string>

1
fuera de plazo. El SDK más nuevo requiere menos
goodguys_activate

0

Puedes probar con el siguiente código en swift 5.0

extension Bundle {
   static let externalURLSchemes: [String] = {
      guard let urlTypes = main.infoDictionary?["LSApplicationQueriesSchemes"] 
       as? [String] else {
        return []
      }
      return urlTypes
   }()
}

Puedes llamar usando Bundle

guard Bundle.externalURLSchemes.contains(URLScheme) else {
    return
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.