Tôi đã tải xuống phiên bản 4.10 của FBSDK và tích hợp chúng vào ứng dụng của tôi bằng cách đặt chúng vào thư mục khung công tác. Nhận thấy rằng những điều này sẽ không được cập nhật theo thời gian, tôi đã xóa chúng hoàn toàn và cố gắng thêm chúng dưới dạng nhóm vào dự án của tôi. Các nhóm được cài đặt thành công, tôi đã nhập chúng một cách chính xác trong tệp tiêu đề bắc cầu của tôi và không có vấn đề nào khác. Các pod cập nhật phiên bản cài đặt 4.11 đã gây cho tôi một số nhức đầu.Ứng dụng gặp sự cố khi sử dụng Facebook Login SDK khi tôi truy cập vào màn hình chính
Tôi đang sử dụng FBSDKLoginKit để đăng nhập người dùng vào tài khoản của họ và truy xuất thông tin từ đó. Tôi có thể lấy lại một từ điển với thông tin người dùng tốt. Sau đó tôi chuyển thông tin này đến ViewController tiếp theo với một segue. Tại bất kỳ thời điểm nào sau này, nếu tôi nhấn nút Home trên iPhone hoặc trình mô phỏng, ứng dụng sẽ bị lỗi. Lỗi tôi nhận được là
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]:
attempt to insert nil object from objects[3]'
Ngoại lệ này cũng xảy ra nếu tôi cho phép người dùng đăng nhập qua facebook, chuyển sang bộ điều khiển chế độ xem mới, thư giãn với bộ điều khiển xem trước đó, sau đó thử đăng nhập lại. Tôi đã cố gắng để đăng nhập người dùng ra một khi lấy thông tin thích hợp của họ trên màn hình thứ hai, nhưng vẫn còn lỗi.
Tôi đã thấy một câu hỏi tương tự được hỏi khi "giải pháp" là FBSDKLoginKit ghi từ điển đã truy lục vào một biến và nếu từ điển nó đã truy xuất lại có giá trị nil, nó sẽ ném lỗi này.
Tôi có thể làm gì để bắt được điều này trước khi điều đó xảy ra không? Có ai tìm thấy một công việc xung quanh?
Dưới đây là kết quả của tôi từ giả lập khi tôi nhấn nhà:
*** First throw call stack:
(
0 CoreFoundation 0x0000000106f03d85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010643edeb objc_exception_throw + 48
2 CoreFoundation 0x0000000106e0023e -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 318
3 CoreFoundation 0x0000000106e125bb +[NSDictionary dictionaryWithObjects:forKeys:count:] + 59
4 APPNAME 0x0000000101607a1e -[FBSDKTimeSpentData instanceSuspend] + 622
5 APPNAME 0x000000010160766b +[FBSDKTimeSpentData suspend] + 59
6 APPNAME 0x00000001015b5986 -[FBSDKAppEvents applicationMovingFromActiveStateOrTerminating] + 262
7 CoreFoundation 0x0000000106ecdc8c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
8 CoreFoundation 0x0000000106ecd9cb _CFXRegistrationPost + 427
9 CoreFoundation 0x0000000106ecd732 ___CFXNotificationPost_block_invoke + 50
10 CoreFoundation 0x0000000106f161e2 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1986
11 CoreFoundation 0x0000000106dc5679 _CFXNotificationPost + 633
12 Foundation 0x000000010372ccd9 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
13 UIKit 0x0000000104a685ad -[UIApplication _deactivateForReason:notify:] + 629
14 UIKit 0x0000000104a6f1f1 __61-[UIApplication _sceneSettingsPreLifecycleEventDiffInspector]_block_invoke + 104
15 FrontBoardServices 0x0000000108f88d6c __52-[FBSSettingsDiffInspector inspectDiff:withContext:]_block_invoke27 + 213
16 Foundation 0x000000010377d5bb __NSIndexSetEnumerate + 1016
17 BaseBoard 0x000000010901ba8c -[BSSettingsDiff inspectChangesWithBlock:] + 116
18 FrontBoardServices 0x0000000108f83e4a -[FBSSettingsDiff inspectOtherChangesWithBlock:] + 92
19 FrontBoardServices 0x0000000108f88b2f -[FBSSettingsDiffInspector inspectDiff:withContext:] + 317
20 UIKit 0x0000000104a70880 __70-[UIApplication scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 127
21 UIKit 0x0000000104a7052d -[UIApplication scene:didUpdateWithDiff:transitionContext:completion:] + 843
22 FrontBoardServices 0x0000000108f978c8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
23 FrontBoardServices 0x0000000108f97741 -[FBSSerialQueue _performNext] + 178
24 FrontBoardServices 0x0000000108f97aca -[FBSSerialQueue _performNextFromRunLoopSource] + 45
25 CoreFoundation 0x0000000106e29301 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
26 CoreFoundation 0x0000000106e1f22c __CFRunLoopDoSources0 + 556
27 CoreFoundation 0x0000000106e1e6e3 __CFRunLoopRun + 867
28 CoreFoundation 0x0000000106e1e0f8 CFRunLoopRunSpecific + 488
29 GraphicsServices 0x0000000108ae7ad2 GSEventRunModal + 161
30 UIKit 0x0000000104a72f09 UIApplicationMain + 171
31 APPNAME 0x00000001013a26d2 main + 114
32 libdyld.dylib 0x0000000107b0d92d start + 1
33 ??? 0x0000000000000001 0x0 + 1
) libC++ abi.dylib: chấm dứt với ngoại lệ còn tự do kiểu NSException
Chạy bước mã của tôi bước tôi thấy rằng lỗi xảy ra trong phương thức:
fbLoginManager.logInWithReadPermissions(permissionsNeeded, fromViewController: self) { (result, error) -> Void in
//crashes before it enters this block
//my code here
}
Nó bị treo trước khi tôi thậm chí có thể kiểm tra giá trị lỗi. Tôi sẽ cố gắng để kiểm tra các giá trị bằng cách bước vào phương pháp fbsdk và cập nhật
Ngay sau khi tôi nhấn OK trên màn hình này là lần thứ hai nó bị treo. Làm thế nào tôi có thể gỡ lỗi này? Tác vụ không có trong ứng dụng của tôi, trong trình duyệt của tôi nên tôi không chắc chắn nên đi đâu từ đây ..
kiểm tra phản hồi và tạo từ điển của bạn, có vẻ như bạn đang cố chèn nil – HardikDG