2016-12-09 19 views
7

Hatayı nasıl kopyalarım. Yani burada ben giriş için sahip kod:facebook sdk uygulama delegesi içinde kilitleniyor

@IBAction func FBLoginAction(_ sender: AnyObject) { 
    fbLoginManager.loginBehavior = FBSDKLoginBehavior.browser 
    fbLoginManager.logIn(withReadPermissions: ["public_profile", "email", "user_friends"], from: self) { (result, error) -> Void in 
     if (error != nil) { 
      return 
     } 
    } 
} 

i iki kez giriş ve ardından uygulamayı tekrar çalıştırırsanız, bu hat AppDelegate içinde çöker.

FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 

Yalnızca bir kez giriş yaparsam ve uygulamayı tekrar çalıştırırsam, herhangi bir kilitlenme gerçekleşmez.

2016-12-09 10: 51: kilitlenme için tam yığın aşağıdaki gibidir 28,893 Dayanıklılık [73125: 897.290] - [NSConcreteMutableData isEqualToString:]: tanınmayan seçici örneği 0x60000004ec40 2016-12- gönderilen 09 10: 51: 28,903 Sebat [73125: 897290] *** nedeniyle yakalanmamış istisna 'NSInvalidArgumentException', nedeni uygulamayı Sonlandırma: '- [NSConcreteMutableData isEqualToString:]: tanınmayan seçici örneğine 0x60000004ec40 için gönderilen'

*** İlk çağrı yığını atmak: (0 CoreFoundation 0x00000001085e634b excepti onPreprocess + 171 1 libobjc.A.dylib
0x0000000107c2a21e objc_exception_throw + 48 2 CoreFoundation
0x0000000108655f34 - [NSObject (NSObject) doesNotRecognizeSelector:] + 132 3 CoreFoundation 0x000000010856bc15 ___forwarding_
+ 1013 4 CoreFoundation 0x000000010856b798 _CF_forwarding_prep_0 + 120 5 FBSDKCoreKit
0x000000010700aa5a - [FBSDKAccessTokenCacheV4 fetchAccessToken] + 202 6 FBSDKCoreKit 0x000000010700902c - [FBSDKAccessTokenCache fetchAccessToken] + 92 7 FBSDKCoreKit 0x0000000107017d2d - [FBSDKApplicationDelegate uygulaması: didFinishLaunchingWithOptions:] + 125 8 Kalıcılık
0x000000010572bcb7 _TFC11Persistence11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 727 9 Kalıcılık 0x000000010572cfb4 _TToFC11Persistence11AppDelegate11applicationfTCSo13UIApplication29didFinishLaunchingWithOptionsGSqGVs10DictionaryVSC29UIApplicationLaunchOptionsKeyP____Sb + 180 10 UIKit 0x00000001091110be - [UIApplication _handleDelegateCallbacksWithOptions: isSuspended: restoreState:] + 290 11 UIKit 0x0000000109112a43 - [UIApplication _callInitializationDelegatesForMainScene: transitionContext:] + 4236 12 UIKit 0x0000000109118de9 - [UIApplication _runWithMainScene: geçişContext: tamamlama:] + 1731 13 UIKit 0x0000000109115f69 - [UIApplication workspaceDidEndTransac tion:] + 188 14 FrontBoardServices 0x000000010d698723 FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 24 15 FrontBoardServices 0x000000010d69859c - [FBSSerialQueue _performNext] + 189 16 FrontBoardServices 0x000000010d698925 - [FBSSerialQueue _performNextFromRunLoopSource] + 45 17 CoreFoundation 0x000000010858b311 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17 18 CoreFoundation 0x000000010857059c __CFRunLoopDoSources0 + 556 19 CoreFoundation 0x000000010856fa86 __CFRunLoopRun + 918 20 CoreFoundation
0x000000010856f494 CFRunLoopRunSpecific + 420 21 UIKit
0x0 0000001091147e6 - [UIApplication _run] + 434 22 UIKit
0x000000010911a964 UIApplicationMain + 159 23 Kalıcılık
0x000000010572d97f ana + 111 24 libdyld.dylib
başlangıç ​​0x000000010b3a368d + 1) C kütüphanesi ++ abi.dylib: tip NSException arasında yakalanmamış dışında sona

cevap

10

Facebook SDK'nın 4.17.0 sürümüne geri döndüm ve artık kilitlenme yapıyorum.

+0

Aynı çökme alıyorum.Sadece onaylamak için, çökme sürümü 4.18.0? – AmitP

+0

Bu çok saçma. Yine de çözüm için teşekkürler, umarım Facebook tam özellikli bir Swift-tabanlı SDK serbest bırakacak ... – the4kman

+0

4.19.0'da sabit görünüyor – paiv

2

Facebook SDK'nın 4.18.0 sürümünü kullanıyorsanız, bunu 4.19.0 veya geçerli sürüme güncelleyin ve kilitlenmeyeceksiniz.

0

bunu gibi senin Podfile içinde FBSDK hiçbir kısıtlı sürümlerine sahip olduğundan emin olun:

pod 'FBSDKCoreKit' 
pod 'FBSDKLoginKit' 
pod 'FBSDKShareKit' 

Sonra pod update yapmak. Yerel şartnamelerinizin sürümlerinin güncellenmesine izin vermek için --no-repo-update kodunu yazmayın.

En son yerelbilgitler havuzlar,olan en son FBSDK sürümünü indirmenize izin verecektir.