2015-10-02 20 views
16

tôi đã cố gắng để tạo ra một đăng nhập Facebook đơn giản với Facebook SDK trong iOS 9 và Swift 2 nhưng nó luôn luôn ném cho tôi một lỗi:Facebook SDK đăng nhập ném lỗi trong nhanh chóng 2 iOS 9

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString containsObject:]: unrecognized selector sent to instance 0xa326874756162667'

Nó xảy ra trong usr/include/dispatch/once.h và tôi không thể giải quyết nó một mình. Có ai có ý tưởng gì không?

Mã này là ở đây:

import FBSDKCoreKit 
import FBSDKLoginKit 


let loginManager = FBSDKLoginManager() 
loginManager.logInWithReadPermissions(["basic_info", "email", "user_likes"], fromViewController: self.parentViewController, handler: { (result, error) -> Void in 
    if error != nil { 
     print(FBSDKAccessToken.currentAccessToken()) 
    } else if result.isCancelled { 
     print("Cancelled") 
    } else { 
     print("LoggedIn") 
    } 
}) 

CẬP NHẬT: Đây là lỗi ngăn xếp đầy đủ:

2015-10-02 13:40:33.884 FacyNews[24902:1352812] -[NSTaggedPointerString containsObject:]: unrecognized selector sent to instance 0xa326874756162667 
 
2015-10-02 13:40:33.889 FacyNews[24902:1352812] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSTaggedPointerString containsObject:]: unrecognized selector sent to instance 0xa326874756162667' 
 
*** First throw call stack: 
 
(
 
\t 0 CoreFoundation      0x000000010dbe8f65 __exceptionPreprocess + 165 
 
\t 1 libobjc.A.dylib      0x000000010f87adeb objc_exception_throw + 48 
 
\t 2 CoreFoundation      0x000000010dbf158d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205 
 
\t 3 CoreFoundation      0x000000010db3ef7a ___forwarding___ + 970 
 
\t 4 CoreFoundation      0x000000010db3eb28 _CF_forwarding_prep_0 + 120 
 
\t 5 FBSDKCoreKit      0x000000010d52ea8b +[FBSDKInternalUtility isRegisteredCanOpenURLScheme:] + 171 
 
\t 6 FBSDKCoreKit      0x000000010d52e8da +[FBSDKInternalUtility checkRegisteredCanOpenURLScheme:] + 362 
 
\t 7 FBSDKCoreKit      0x000000010d52d0ed __46+[FBSDKInternalUtility isFacebookAppInstalled]_block_invoke + 45 
 
\t 8 libdispatch.dylib     0x0000000110ded49b _dispatch_client_callout + 8 
 
\t 9 libdispatch.dylib     0x0000000110dd8e28 dispatch_once_f + 543 
 
\t 10 FBSDKCoreKit      0x000000010d52cff7 +[FBSDKInternalUtility isFacebookAppInstalled] + 87 
 
\t 11 FBSDKLoginKit      0x000000010d6d6cb1 -[FBSDKLoginManager logInParametersWithPermissions:] + 449 
 
\t 12 FBSDKLoginKit      0x000000010d6d7358 -[FBSDKLoginManager logInWithBehavior:] + 88 
 
\t 13 FBSDKLoginKit      0x000000010d6d72d4 -[FBSDKLoginManager logInWithPermissions:handler:] + 292 
 
\t 14 FBSDKLoginKit      0x000000010d6d55e7 -[FBSDKLoginManager logInWithReadPermissions:fromViewController:handler:] + 343 
 
\t 15 FacyNews       0x000000010d3a2e5c _TFFC8FacyNews20MasterViewController14viewWillAppearFS0_FSbT_U_FCSo13UIAlertActionT_ + 700 
 
\t 16 FacyNews       0x000000010d3a3297 _TTRXFo_oCSo13UIAlertAction_dT__XFo_iS__iT__ + 23 
 
\t 17 FacyNews       0x000000010d39e131 _TPA__TTRXFo_oCSo13UIAlertAction_dT__XFo_iS__iT__ + 81 
 
\t 18 FacyNews       0x000000010d3a2b40 _TTRXFo_iCSo13UIAlertAction_iT__XFo_oS__dT__ + 32 
 
\t 19 FacyNews       0x000000010d3a2b8c _TTRXFo_oCSo13UIAlertAction_dT__XFdCb_dS__dT__ + 60 
 
\t 20 UIKit        0x000000010e709fa5 -[UIAlertController _fireOffActionOnTargetIfValidForAction:] + 96 
 
\t 21 UIKit        0x000000010e70a785 __85-[UIAlertController _dismissAnimated:triggeringAction:triggeredByPopoverDimmingView:]_block_invoke + 30 
 
\t 22 UIKit        0x000000010e55fc9f -[UIPresentationController transitionDidFinish:] + 1248 
 
\t 23 UIKit        0x000000010e__56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 183 
 
\t 24 UIKit        0x000000010edb31e9 -[_UIViewControllerTransitionContext completeTransition:] + 101 
 
\t 25 UIKit        0x000000010e4a9daa -[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 644 
 
\t 26 UIKit        0x000000010e4883a7 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 241 
 
\t 27 UIKit        0x000000010e488756 -[UIViewAnimationState animationDidStop:finished:] + 80 
 
\t 28 QuartzCore       0x00000001135e8d70 _ZN2CA5Layer23run_animation_callbacksEPv + 308 
 
\t 29 libdispatch.dylib     0x0000000110ded49b _dispatch_client_callout + 8 
 
\t 30 libdispatch.dylib     0x0000000110dd534b _dispatch_main_queue_callback_4CF + 1738 
 
\t 31 CoreFoundation      0x000000010db493e9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 
 
\t 32 CoreFoundation      0x000000010db0a939 __CFRunLoopRun + 2073 
 
\t 33 CoreFoundation      0x000000010db09e98 CFRunLoopRunSpecific + 488 
 
\t 34 GraphicsServices     0x00000001130a2ad2 GSEventRunModal + 161 
 
\t 35 UIKit        0x000000010e403676 UIApplicationMain + 171 
 
\t 36 FacyNews       0x000000010d39959d main + 109 
 
\t 37 libdyld.dylib      0x0000000110e2192d start + 1 
 
\t 38 ???         0x0000000000000001 0x0 + 1 
 
) 
 
libc++abi.dylib: terminating with uncaught exception of type NSException

Cảm ơn trước.

+0

Bạn đã thêm 'chìa khóa LSApplicationQueriesSchemes' để bạn info.plist? Hãy xem câu trả lời này: http://stackoverflow.com/a/32441523/228981 để hiển thị cách tìm kiếm các mạng xã hội khác nhau. – ChrisH

+0

@ChrisH Có, tôi đã thêm nhưng khi tôi trả lời tôi đã thêm nó sai và SDK không kiểm tra xem nó có phải là một chuỗi các chuỗi hay không. – Gabriel

+0

@ Gabriel..có thể bạn đăng mã làm việc không? Tôi đang đối mặt với các vấn đề trong nhanh chóng 2.0 quá – Saty

Trả lời

23

Tôi đã giải quyết được sự cố. Vì không có bất cứ điều gì về LSApplicationQueriesSchemes trong tài liệu nhưng tôi nhận được một thông báo lỗi về việc thiếu nó, tôi đã viết khóa và giá trị "fbauth2" vào info.plist như một String nhưng nó là một mảng và SDK cố gắng để có được phần tử của String Array mà không có bất kỳ kiểm tra nào nếu nó là một mảng.

Tuy nhiên, cảm ơn bạn vì câu trả lời trợ giúp.

+0

Cảm ơn rất nhiều vì điều đó! – AsTeR

-1

Tôi nghĩ rằng lỗi của bạn không nằm trong mã bạn đã đăng. Nhưng cố gắng loại bỏ quyền "basic_info" vì nó không được chấp nhận và trong iOS 9 nó có thể làm cho một số giá trị không mong muốn.

Bạn có thể đọc:..

"Trước đây, basic_info là một sự cho phép bạn phải yêu cầu và ngụ ý public_profile và user_friends cùng với tờ New Facebook Đăng nhập basic_info hiện đang bị phản đối và không nên yêu cầu Thay vào đó, hãy hỏi cho public_profile và user_friends (nếu cần) một cách rõ ràng. "

Here

+0

Cảm ơn bạn, nó sẽ giúp đỡ nhưng vấn đề là như nhau. – Gabriel

3

Kiểm tra link để biết thêm về cách thêm 'fbauth2' vào .plist trong khi tích hợp FacebookSDK trong iOS9.

FYI,
tôi đã phải đối mặt với một vụ tai nạn với thông báo sau:

*** Terminating app due to uncaught exception 'InvalidOperationException', reason: 'fbauth2 is missing from your Info.plist under LSApplicationQueriesSchemes and is required for iOS 9.0' 
*** First throw call stack: 

Và giải quyết nó bằng cách thêm dòng sau trong .plist

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>fbapi</string> 
    <string>fb-messenger-api</string> 
    <string>fbauth2</string> 
    <string>fbshareextension</string> 
</array> 
Các vấn đề liên quan