2015-11-22 21 views
10

Tüm Facebook bağımlılıkları ile Parse Framework'ü Uygulamam'a entegre ettim. Benim Plist yapılandırma şöyle görünür:IOS 9 Swift - Parse Facebook girişi yerli Facebook Uygulamasını açmıyor

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>fbXXXXXXXXXXXXX</string> 
      </array> 
     </dict> 
    </array> 
    <key>FacebookAppID</key> 
    <string>XXXXXXXXXXXXX</string> 
    <key>FacebookDisplayName</key> 
    <string>XXXXX</string> 

    <key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
      <key>facebook.com</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSExceptionRequiresForwardSecrecy</key> 
       <false/> 
      </dict> 
      <key>fbcdn.net</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSExceptionRequiresForwardSecrecy</key> 
       <false/> 
      </dict> 
      <key>akamaihd.net</key> 
      <dict> 
       <key>NSIncludesSubdomains</key> 
       <true/> 
       <key>NSExceptionRequiresForwardSecrecy</key> 
       <false/> 
      </dict> 
     </dict> 
    </dict> 

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

Benim Girişi kodu şöyle görünür:

PFFacebookUtils.logInInBackgroundWithReadPermissions(permissionsArray, block: { (user, error) -> Void in 
      if(error != nil){ 
       print("Login failed") 
      }else{ 
       if let currentUser = user{ 
        if(currentUser.isNew){ 
         print("New user") 
        }else{ 
         print("Login success") 
        } 
       }else{ 
        print("Login canceled") 
       } 

      } 
     }) 

Tüm ancak giriş işlemi Safari'de yapılan ve yüklü Facebook Uygulaması'nda ediliyor, iyi çalışıyor.

Neyi eksik?

+0

Bunu deneyin: http://stackoverflow.com/questions/33315083/error-in-facebook-login-ios-9-swift – lukaivicev

cevap

5

iOS 9'dan beri Facebook SDK artık Facebook Uygulaması aracılığıyla yetkilendirme sunmuyor. Bunun nedeni, uygulamanın diğer uygulamaları açabilmesi için kullanıcıların sorulması ve bu durumun UX’i etkilemesidir. ben bu öğretici işaretlendiğinde

Sizin tek seçenek kullanmak FBSDKLoginBehaviorBrowser

PFFacebookUtils.facebookLoginManager().loginBehavior = FBSDKLoginBehavior.SystemAccount 
+0

Cevabınız için teşekkürler, ancak bu yöntemi başarıyla kullanan diğer uygulamaları (AirBnB gibi) görebiliyorum. '(PFFacebookUtils.facebookLoginManager()) 'ı eklemeyi denedim. LoginBehavior = FBSDKLoginBehavior.SystemAccount', şanssız. başka bir fikrin var mı? –

+0

'FBSDKLoginBehavior.Native''i geri almak için her zaman SDK'nın eski sürümünü kullanabilirsiniz, ancak önerilmez. FBSDKLoginBehavior.SystemAccount işlevinin çalışması için FB'nin iOS ayarlarında kurulması gerekir, aksi halde tarayıcıya geri döner. –

+0

Hangi ayarların yapılandırılması gerektiğine dair ayrıntılı bilgi verir misiniz? IOS platformunda belirlediğim tek şey Paket Kimliği. P.S - .Native aynı etkiye sahiptir –