iOS 9 "fbauth2" mancante da Info.plist


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

Qualche idea su cosa sia? L'ho aggiunto nel mio plist ma non ha funzionato.

Risposte:


347

Puoi continuare a utilizzare gli schemi URL quando crei la tua app per iOS 9 e desideri chiamare schemi URL, ora dovrai dichiararli nella Info.plist delle tue app. Esiste una nuova chiave, LSApplicationQueriesSchemes , e qui sarà necessario aggiungere l'elenco di schemi che si desidera siano canOpenURL.

Prova così.

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

1
Grazie ragazzo. Ho pensato che sarebbe stato necessario solo se lo stavo costruendo su un dispositivo iOS9.
Felipe,

versione xml copia / incolla per favore: D?
Christopher Francisco,

20
Perché queste informazioni non sono visualizzate nella guida introduttiva per iOS? developers.facebook.com/quickstarts/926602334080849/…
Paul Brewczynski,

1
Grazie. Come l'hai capito?
Hernan Arber,

1
@PaulBrewczynski Non so perché non sia presente nella guida introduttiva, ma l'ho trovato nei documenti qui: developers.facebook.com/docs/ios/ios9
TMin

25

Se stai usando iOS9, questo è importante per aggiornare il tuo file info.plist. Devi solo fare 3 passaggi 1. Vai a info.plist 2. Aggiungi un campo e precisamente il tipo di dati NSArray LSApplicationQueriesSchemes. 3. Aggiungere un elemento del tipo di dati NSString chiamandolo fbauth2.

Questo è tutto. Pulisci e corri. l'avviso non verrà più visualizzato.inserisci qui la descrizione dell'immagine


Sto eseguendo questo con Xcode 7.1 ma sto usando il simulatore di iPhone 6 Plus con iOS 8.1. Questo non dovrebbe apparire dovrebbe?
Jerome Chan Yeow Heong



5

Per favore, non aggiungere questo al tuo CFBundleURLSchemes ... che in realtà HIJACK tenterà qualsiasi tentativo di app di Facebook, causando un popup che mostra la finestra di dialogo "X app vuole aprire" ...

NON vuoi farlo.

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

Ho ottenuto questo durante l'esecuzione dei test del Kiwi poiché il nostro obiettivo di test non aveva accesso al pacchetto principale. Quindi ho dovuto aggiungere una condizione a isRegisteredCanOpenURLSchemeinFBSDKInternalUtility.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];
}

Questo ha funzionato anche per me. Non riuscivo a far funzionare nient'altro. Mi sembra strano che dobbiamo modificare il codice di Facebook, non verrà cancellato quando FB aggiorna i loro cocopodi.
user2285278

1

Per creare la tua app per iOS 9: (per la condivisione di Facebook)

  1. Apri il Info.plistfile, aggiungi un altro campo LSApplicationQueriesSchemes in Elenco proprietà informazioni e imposta il tipo di dati Arrayo NSArray.
  2. Aggiungi 3 elementi per LSApplicationQueriesSchemes e imposta il tipo di dati su Stringo NSString.
  3. Assegnare fbauth2, fbshareextension, fbapicome valore di oggetto.

Segui questa foto :

inserisci qui la descrizione dell'immagine


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
obsoleto. L'SDK più recente richiede meno
goodguys_activate il

0

Puoi provare con il codice qui sotto in swift 5.0

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

Puoi chiamare usando Bundle

guard Bundle.externalURLSchemes.contains(URLScheme) else {
    return
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.