Brakuje iOS 9 „fbauth2” w Info.plist


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

Masz jakiś pomysł, co to jest? Dodałem go do swojej listy, ale nie zadziałał.

Odpowiedzi:


347

Możesz nadal używać schematów adresów URL podczas tworzenia aplikacji na iOS 9 i chcesz wywoływać schematy adresów URL, musisz teraz zadeklarować je w swoich aplikacjach Info.plist. Jest nowy klucz, LSApplicationQueriesSchemes , i tutaj będziesz musiał dodać listę schematów, na których chcesz, aby można było otworzyć adres URL.

Spróbuj w ten sposób.

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

1
Dzięki, chłopcze. Pomyślałem, że będzie to konieczne tylko wtedy, gdy zbuduję go na urządzeniu z systemem iOS9.
Felipe

xml wersja do kopiowania / wklejania: D?
Christopher Francisco

20
Dlaczego te informacje nie są wyświetlane w przewodniku Szybki start dla systemu iOS? developers.facebook.com/quickstarts/926602334080849/…
Paul Brewczynski

1
Dzięki. Jak to rozgryzłeś?
Hernan Arber

1
@PaulBrewczynski Nie wiem, dlaczego nie ma tego w przewodniku szybkiego startu, ale znalazłem to w dokumentach tutaj: developers.facebook.com/docs/ios/ios9
TM

25

Jeśli używasz iOS9, ważne jest, aby zaktualizować plik info.plist. Wystarczy wykonać 3 kroki 1. Przejdź do info.plist 2. Dodaj pole o typie danych LSApplicationQueriesSchemes NSArray . 3. Dodaj element typu danych NSString, nadaj mu nazwę fbauth2.

Otóż ​​to. Po prostu wyczyść i uruchom. ostrzeżenie nie pokaże się ponownie.wprowadź opis obrazu tutaj


Używam tego pod Xcode 7.1, ale używam symulatora iPhone'a 6 Plus z systemem iOS 8.1. To nie powinno się pojawiać, prawda?
Jerome Chan Yeow Heong



5

Po prostu nie dodawaj tego do swoich CFBundleURLSchemes ... to faktycznie spowoduje HIJACK próbę dowolnej aplikacji do autoryzacji Facebooka, powodując wyskakujące okienko z oknem dialogowym "X app chce otworzyć" ...

NIE CHCESZ tego robić.

por .:

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

Otrzymałem to podczas uruchamiania testów Kiwi, ponieważ nasz cel testowy nie miał dostępu do głównego pakietu. Musiałem więc dodać warunek do 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];
}

Na mnie też to zadziałało. Nie mogłem zmusić niczego innego do pracy. Wydaje mi się dziwne, że musimy edytować kod facebooka, czy nie zostanie on usunięty, gdy FB zaktualizuje ich kokonogi.
user2285278

1

Aby zbudować aplikację na iOS 9: (dla funkcji Facebook Share)

  1. Otwórz Info.plistplik, dodaj kolejne pole LSApplicationQueriesSchemes w sekcji Lista właściwości informacji i ustaw jego typ danych Arraylub NSArray.
  2. Dodaj 3 elementy dla LSApplicationQueriesSchemes i ustaw ich typ danych na Stringlub NSString.
  3. Przypisywanie fbauth2, fbshareextension, fbapijako wartość elementu.

Śledź to zdjęcie :

wprowadź opis obrazu tutaj


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
przeterminowany. Nowszy SDK wymaga mniej
goodguys_activate

0

Możesz spróbować z poniższym kodem w swift 5.0

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

Możesz zadzwonić za pomocą Bundle

guard Bundle.externalURLSchemes.contains(URLScheme) else {
    return
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.