iOS 9 "fbauth2" hilang dari Info.plist


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

Ada yang tahu apa ini? Saya telah menambahkannya di plist saya tetapi tidak berhasil.

Jawaban:


347

Anda dapat terus menggunakan skema URL ketika Anda membangun aplikasi untuk iOS 9 dan Anda ingin memanggil skema URL, Anda sekarang harus mendeklarasikannya di Info.plist aplikasi Anda. Ada kunci baru, LSApplicationQueriesSchemes , dan di sini Anda perlu menambahkan daftar skema yang Anda inginkan canOpenURL aktif.

Coba seperti ini.

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

1
Terima kasih, Nak. Saya pikir itu hanya diperlukan jika saya membangunnya ke perangkat iOS9.
Felipe

versi copy / paste xml tolong: D?
Christopher Francisco

20
Mengapa informasi ini tidak ditampilkan di quickstart untuk iOS? developers.facebook.com/quickstarts/926602334080849/…
Paul Brewczynski

1
Terima kasih. Bagaimana Anda mengetahui hal ini?
Hernan Arber

1
@PaulBrewczynski Saya tidak tahu mengapa itu tidak ada di panduan cepat tetapi saya menemukannya di dokumen di sini: developers.facebook.com/docs/ios/ios9
TMin

25

Jika Anda menggunakan iOS9 maka ini penting untuk memperbarui file info.plist Anda. Anda hanya perlu melakukan 3 langkah 1. Pergi ke info.plist 2. Tambahkan bidang yaitu LSApplicationQueriesSchemes NSArray datatype. 3. Tambahkan item dengan nama data NSString sebagai fbauth2.

Itu dia. Cukup bersih dan jalankan. peringatan tidak akan ditampilkan lagi.masukkan deskripsi gambar di sini


Saya menjalankan ini di bawah Xcode 7.1 tetapi menggunakan simulator iPhone 6 Plus yang menjalankan iOS 8.1. Ini seharusnya tidak muncul kan?
Jerome Chan Yeow Heong



5

Tolong jangan tambahkan ini ke CFBundleURLSkema Anda ... yang akan benar-benar HIJACK upaya aplikasi apa pun di Facebook auth, menyebabkan sembulan untuk menampilkan dialog "aplikasi X ingin membuka" ...

Anda TIDAK ingin melakukan itu.

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

Saya mendapatkan ini ketika menjalankan tes Kiwi karena target pengujian kami tidak memiliki akses ke bundel utama. Jadi saya harus menambahkan kondisi ke isRegisteredCanOpenURLSchemedalamFBSDKInternalUtility.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];
}

Ini juga berhasil bagi saya. Saya tidak bisa mendapatkan pekerjaan lain. Ini aneh bagi saya bahwa kita harus mengedit kode facebook, tidak akan terhapus ketika FB memperbarui cocopod mereka.
user2285278

1

Untuk membangun aplikasi Anda untuk iOS 9: (Untuk Berbagi Facebook)

  1. Buka Info.plistfile, tambahkan bidang lain LSApplicationQueriesSchemes di bawah Daftar Informasi Properti dan atur datatype Arrayatau NSArray.
  2. Tambahkan 3 item untuk LSApplicationQueriesSchemes dan atur datatype mereka ke Stringatau NSString.
  3. Menetapkan fbauth2, fbshareextension, fbapisebagai nilai barang.

Ikuti foto ini :

masukkan deskripsi gambar di sini


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
kadaluarsa. SDK yang lebih baru membutuhkan lebih sedikit
goodguys_activate

0

Anda dapat mencoba dengan kode di bawah ini swift 5.0

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

Anda dapat menelepon menggunakan Bundle

guard Bundle.externalURLSchemes.contains(URLScheme) else {
    return
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.