Info.plist'te iOS 9 “fbauth2” eksik


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

Bunun ne olduğu hakkında fikrin var mı? Plistime ekledim ama işe yaramadı.

Yanıtlar:


347

İOS 9 için uygulamanızı oluştururken URL şemalarını kullanmaya devam edebilirsiniz ve URL şemalarını aramak istiyorsanız, artık bunları uygulama Info.plist'inizde bildirmeniz gerekecektir. Yeni bir anahtar var, LSApplicationQueriesSchemes ve burada canOpenURL olmasını istediğiniz şemaların listesini eklemeniz gerekecek.

Böyle dene.

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

1
Teşekkürler delikanlı. Sadece bir iOS9 cihazına inşa edersem gerekli olacağını düşündüm.
Felipe

xml kopyala / yapıştır versiyonu lütfen: D?
Christopher Francisco

20
Bu bilgiler neden iOS için hızlı başlangıçta gösterilmiyor? developers.facebook.com/quickstarts/926602334080849/…
Paul Brewczynski

1
Teşekkürler. Bunu nasıl anladın?
Hernan Arber

1
@PaulBrewczynski Neden hızlı başlangıç ​​kılavuzunda olmadığını bilmiyorum ama bunu burada dokümanlarda buldum: developers.facebook.com/docs/ios/ios9
TMin

25

İOS9 kullanıyorsanız, info.plist dosyanızı güncellemek önemlidir. Sadece 3 adım 1 yapmanız gerekir. İnfo.plist 2 adresine gidin . LSApplicationQueriesSchemes NSArray veri türü olarak bir alan ekleyin . 3. NSString veri türü öğesini fbauth2 olarak adlandırın.

Bu kadar. Sadece temizle ve koş. uyarı tekrar göstermeyecek.resim açıklamasını buraya girin


Bunu Xcode 7.1 altında çalıştırıyorum, ancak iOS 8.1 çalıştıran iPhone 6 Plus simülatörünü kullanıyorum. Bu görünmemeli, değil mi?
Jerome Chan Yeow Heong



5

Lütfen bunu CFBundleURLSchemes'e eklemeyin ... bu aslında herhangi bir uygulamanın Facebook yetkilendirme girişiminde HIJACK olacak ve "X uygulaması açmak istiyor" iletişim kutusunu gösteren bir açılır pencere oluşturacak ...

Bunu yapmak istemiyorsun.

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

Test hedefimizin ana pakete erişimi olmadığından Kivi testlerimi yaparken bunu aldım. Bu yüzden içine bir koşul eklemek zorunda isRegisteredCanOpenURLSchemekaldıFBSDKInternalUtility.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];
}

Bu benim için de işe yaradı. Çalışacak başka bir şey bulamadım. Facebook kodunu düzeltmemiz gerektiği garip görünüyor, FB cocopod'larını güncellediğinde silinmeyecek mi?
user2285278

1

Uygulamanızı iOS 9 için oluşturmak için: (Facebook Paylaşımı için)

  1. Info.plistDosyayı açın , Bilgi Özellik Listesi altına başka bir alan LSApplicationQueriesSchemes ekleyin ve veri türünü ayarlayın veya .ArrayNSArray
  2. LSApplicationQueriesSchemes için 3 öğe ekleyin ve veri türlerini Stringveya olarak ayarlayın NSString.
  3. Ata fbauth2, fbshareextension, fbapiöğe değeri olarak.

Bu fotoğrafı takip et :

resim açıklamasını buraya girin


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
tarihi geçmiş. Daha yeni SDK daha azını gerektirir
goodguys_activate

0

Aşağıdaki kod ile deneyebilirsiniz swift 5.0

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

Kullanarak arayabilirsiniz Bundle

guard Bundle.externalURLSchemes.contains(URLScheme) else {
    return
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.