从Bitcode ON上的testflight安装构建时,iOS 10中的Facebook登录崩溃

Raj*_*ari 6 facebook testflight facebook-ios-sdk swift2 ios10

我正在使用Xcode 7.3.1(Swift)并使用最新的FB iOS SDK v4.15.1

编辑
同样的情况也发生在
FB iOS SDK v4.14.0
编辑

我在iOS 10设备上遇到一个奇怪的问题每当我在做facebook登录时在我的应用程序和Facebook关闭的回叫返回时,它只是崩溃的应用程序.

登录方案如下: -

BIT CODE - ON

  1. 使用开发/ AdHoc配置文件构建并通过从Xcode安装在iOS 10设备上运行-
    状态:正常工作
  2. 使用开发/ AdHoc配置文件构建并通过从Diawi安装在iOS 10设备上运行-
    状态:正常工作
  3. 通过从TestFlight安装,使用AdHoc Distribution配置文件构建并在iOS 10设备上运行-
    状态:在iOS 10设备中回调Facebook登录后,应用程序崩溃但在iOS 9设备中正常运行.


BIT CODE - OFF

所有3个案件都工作正常.

只有问题在于TestFlight.休息所有其他分发方式在FB登录中正常工作.我将很快发布到Facebook开发者支持页面.

以下是TestFlight的完整崩溃日志报告.
https://www.dropbox.com/sh/1q19939akqmgoa9/AADpW4OGoumGrMO4iYO5cw27a?dl=0
您可以从Dropbox下载这两个文件并右键单击 - 显示包内容并导航到日志文件夹,您将在其中找到.crash文件

此外,crashly .txt文件还存在于Dropbox链接中

这是我的崩溃报告的快速预览

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0

Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x0000000188ff6014 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001890bd460 pthread_kill + 112 (pthread.c:1366)
2   libsystem_c.dylib               0x0000000188f6a490 __abort + 144 (abort.c:128)
3   libsystem_c.dylib               0x0000000188f6a400 abort + 152 (abort.c:99)
4   libswiftCore.dylib              0x000000010097c06c swift::fatalError(char const*, ...) + 52 (__hidden#8337_:107)
5   libswiftCore.dylib              0x0000000100961b5c swift::swift_dynamicCastFailure(void const*, char const*, void const*, char const*, char const*) + 72 (__hidden#7547_:398)
6   libswiftCore.dylib              0x0000000100961bec swift::swift_dynamicCastFailure(swift::Metadata const*, swift::Metadata const*, char const*) + 144 (__hidden#7547_:413)
7   libswiftCore.dylib              0x000000010098adbc swift_dynamicCastObjCClassUnconditional + 68 (__hidden#9865_:1000)
8   Thought                         0x00000001001e6148 0x1000b8000 + 1237320
9   Thought                         0x00000001001b6218 0x1000b8000 + 1040920
10  Thought                         0x00000001001f3918 0x1000b8000 + 1292568
11  Thought                         0x00000001001f3b44 0x1000b8000 + 1293124
12  Thought                         0x00000001001f3c04 0x1000b8000 + 1293316
13  Thought                         0x00000001001f3d14 0x1000b8000 + 1293588
14  FBSDKCoreKit                    0x00000001004f0108 0x1004c8000 + 164104
15  FBSDKCoreKit                    0x00000001004edcec 0x1004c8000 + 154860
16  FBSDKCoreKit                    0x00000001004edb38 0x1004c8000 + 154424
17  FBSDKCoreKit                    0x00000001004ed5e0 0x1004c8000 + 153056
18  CoreFoundation                  0x0000000189f151a4 __53-[__NSArrayM enumerateObjectsWithOptions:usingBlock:]_block_invoke + 132 (NSArray.m:434)
19  CoreFoundation                  0x0000000189f15010 -[__NSArrayM enumerateObjectsWithOptions:usingBlock:] + 168 (NSArray.m:451)
20  FBSDKCoreKit                    0x00000001004ed374 0x1004c8000 + 152436
21  FBSDKCoreKit                    0x00000001004ec830 0x1004c8000 + 149552
22  FBSDKCoreKit                    0x00000001004ea9fc 0x1004c8000 + 141820
23  FBSDKCoreKit                    0x0000000100505368 0x1004c8000 + 250728
24  FBSDKCoreKit                    0x00000001005052c0 0x1004c8000 + 250560
25  FBSDKCoreKit                    0x0000000100505734 0x1004c8000 + 251700
26  CFNetwork                       0x000000018a86576c __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 80 (NSURLConnectionInternal.mm:124)
27  CFNetwork                       0x000000018a8656fc -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 200 (NSURLConnectionInternal.mm:121)
28  CFNetwork                       0x000000018a865870 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 56 (NSURLConnectionInternal.mm:139)
29  CFNetwork                       0x000000018a78c788 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 96 (URLConnectionClient.cpp:2135)
30  CFNetwork                       0x000000018a78a678 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 108 (URLConnectionClient.cpp:1899)
31  libdispatch.dylib               0x0000000188eb11c0 _dispatch_client_callout + 16 (object.m:455)
32  libdispatch.dylib               0x0000000188ebcb24 _dispatch_block_invoke_direct + 376 (queue.c:2872)
33  CFNetwork                       0x000000018a842e98 RunloopBlockContext::_invoke_block(void const*, void*) + 36 (CoreSchedulingSet.mm:361)
34  CoreFoundation                  0x0000000189f019a8 CFArrayApplyFunction + 68 (CFArray.c:650)
35  CFNetwork                       0x000000018a842d7c RunloopBlockContext::perform() + 136 (CoreSchedulingSet.mm:315)
36  CFNetwork                       0x000000018a8440a4 MultiplexerSource::perform() + 312 (CFNRunLoopMultiplexer.c:282)
37  CFNetwork                       0x000000018a843e10 MultiplexerSource::_perform(void*) + 64 (CFNRunLoopMultiplexer.c:47)
38  CoreFoundation                  0x0000000189fd6278 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1943)
39  CoreFoundation                  0x0000000189fd5bc0 __CFRunLoopDoSources0 + 524 (CFRunLoop.c:1989)
40  CoreFoundation                  0x0000000189fd37c0 __CFRunLoopRun + 804 (CFRunLoop.c:2821)
41  CoreFoundation                  0x0000000189f02048 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113)
42  GraphicsServices                0x000000018b985198 GSEventRunModal + 180 (GSEvent.c:2245)
43  UIKit                           0x000000018fedb818 -[UIApplication _run] + 684 (UIApplication.m:2649)
44  UIKit                           0x000000018fed6550 UIApplicationMain + 208 (UIApplication.m:4091)
45  Thought                         0x000000010018e230 0x1000b8000 + 877104
46  libdyld.dylib                   0x0000000188ee45b8 start + 4

Thread 1:
0   libsystem_pthread.dylib         0x00000001890b8db0 start_wqthread + 0

Thread 2:
0   libsystem_kernel.dylib          0x0000000188ff6a88 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x00000001890b936c _pthread_wqthread + 1452 (pthread.c:2205)
2   libsystem_pthread.dylib         0x00000001890b8db4 start_wqthread + 4

Thread 3:
0   libsystem_pthread.dylib         0x00000001890b8db0 start_wqthread + 0

Thread 4 name:
Thread 4:
0   libsystem_kernel.dylib          0x0000000188fd816c mach_msg_trap + 8
1   libsystem_kernel.dylib          0x0000000188fd7fdc mach_msg + 72 (mach_msg.c:103)
2   CoreFoundation                  0x0000000189fd5cec __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527)
3   CoreFoundation                  0x0000000189fd3908 __CFRunLoopRun + 1132 (CFRunLoop.c:2870)
4   CoreFoundation                  0x0000000189f02048 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113)
5   Foundation                      0x000000018aa10b1c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367)
6   Foundation                      0x000000018aa3160c -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411)
7   UIKit                           0x0000000190850e6c -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:279)
8   Foundation                      0x000000018ab0e50c __NSThread__start__ + 1024 (NSThread.m:1163)
9   libsystem_pthread.dylib         0x00000001890bb860 _pthread_body + 240 (pthread.c:697)
10  libsystem_pthread.dylib         0x00000001890bb770 _pthread_start + 284 (pthread.c:744)
11  libsystem_pthread.dylib         0x00000001890b8dbc thread_start + 4

Thread 5 name:
Thread 5:
0   libsystem_kernel.dylib          0x0000000188fd816c mach_msg_trap + 8
1   libsystem_kernel.dylib          0x0000000188fd7fdc mach_msg + 72 (mach_msg.c:103)
2   Thought                         0x0000000100218538 0x1000b8000 + 1443128
3   libsystem_pthread.dylib         0x00000001890bb860 _pthread_body + 240 (pthread.c:697)
4   libsystem_pthread.dylib         0x00000001890bb770 _pthread_start + 284 (pthread.c:744)
5   libsystem_pthread.dylib         0x00000001890b8dbc thread_start + 4

Thread 6:
0   libsystem_pthread.dylib         0x00000001890b8db0 start_wqthread + 0

Thread 7 name:
Thread 7:
0   libsystem_kernel.dylib          0x0000000188fd816c mach_msg_trap + 8
1   libsystem_kernel.dylib          0x0000000188fd7fdc mach_msg + 72 (mach_msg.c:103)
2   CoreFoundation                  0x0000000189fd5cec __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527)
3   CoreFoundation                  0x0000000189fd3908 __CFRunLoopRun + 1132 (CFRunLoop.c:2870)
4   CoreFoundation                  0x0000000189f02048 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113)
5   CFNetwork                       0x000000018a6efcec +[NSURLConnection(Loader) _resourceLoadLoop:] + 336 (NSURLConnection.mm:364)
6   Foundation                      0x000000018ab0e50c __NSThread__start__ + 1024 (NSThread.m:1163)
7   libsystem_pthread.dylib         0x00000001890bb860 _pthread_body + 240 (pthread.c:697)
8   libsystem_pthread.dylib         0x00000001890bb770 _pthread_start + 284 (pthread.c:744)
9   libsystem_pthread.dylib         0x00000001890b8dbc thread_start + 4

Thread 8:
0   libsystem_pthread.dylib         0x00000001890b8db0 start_wqthread + 0

Thread 9:
0   libsystem_kernel.dylib          0x0000000188ff5e1c __psynch_cvwait + 8
1   libsystem_pthread.dylib         0x00000001890ba9d0 _pthread_cond_wait + 640 (pthread_cond.c:536)
2   libc++.1.dylib                  0x00000001889e53ec std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 56 (condition_variable.cpp:44)
3   JavaScriptCore                  0x000000018e7aa548 void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 112 (condition_variable:202)
4   JavaScriptCore                  0x000000018e7aa4bc bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 168 (condition_variable:211)
5   JavaScriptCore                  0x000000018e7aa39c bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadEntryPoint(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*) + 12 (AsyncTask.h:106)
6   JavaScriptCore                  0x000000018e7aa64c void* std::__1::__thread_proxy<std::__1::tuple<void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 92 (__functional_base:416)
7   libsystem_pthread.dylib         0x00000001890bb860 _pthread_body + 240 (pthread.c:697)
8   libsystem_pthread.dylib         0x00000001890bb770 _pthread_start + 284 (pthread.c:744)
9   libsystem_pthread.dylib         0x00000001890b8dbc thread_start + 4

Thread 10:
0   libsystem_kernel.dylib          0x0000000188ff6a88 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x00000001890b936c _pthread_wqthread + 1452 (pthread.c:2205)
2   libsystem_pthread.dylib         0x00000001890b8db4 start_wqthread + 4
Run Code Online (Sandbox Code Playgroud)


这是Facebook登录的代码.

我的助手课程

class FBManager: NSObject {

    class func fbInfo(completion:((response: AnyObject?, error: NSError?) -> Void)?) {
        let fbLogin = FBSDKLoginManager();
        fbLogin.logOut()
        fbLogin.logInWithReadPermissions(permissions, fromViewController: nil) { (result:  FBSDKLoginManagerLoginResult!, error: NSError?) -> Void in
            if (error != nil) {
                if let block = completion {
                    block(response: nil, error: error)
                }

            } else if result.isCancelled {
                let err = NSError(domain: "502", code: 501, userInfo: NSDictionary(object: "message", forKey: "User Cancelled!") as [NSObject : AnyObject])
                // call your own block code.
                if let block = completion {
                    DDLogVerbose("error \(err)")
                    block(response: nil, error: err)
                }

            } else {

                if result.grantedPermissions.contains("email") {
                    DDLogVerbose("granted...")
                    FBManager.userInfo({ (response, error) -> Void in
                        FBManager.userInfo(completion)
                    })
                }
            }
        }

    }


    class func userInfo(completion:((response: AnyObject?, error: NSError?) -> Void)?) {
        // got login....
        let param = NSMutableDictionary()
        param.setObject(loginParams, forKey: "fields")

        let fbRequest = FBSDKGraphRequest(graphPath:"me", parameters: param as [NSObject : AnyObject]);
        fbRequest.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in

            // check the email existence...

            // call your own block code.
            if let block = completion {
                DDLogVerbose("FB result \(result)")
                block(response: result, error: error)
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我从LoginViewController调用代码

func login() {
        weak var weakSelf = self
        FBManager.fbInfo { (response, error) -> Void in
            if (response != nil){
                DDLogVerbose("FB Info \(response)")
                if error == nil {
                    if response != nil {
                    let dict:NSMutableDictionary = response as! NSMutableDictionary
                    DDLogVerbose("User facebook Information : \(dict)")

                } else {
                        CommonClass.alertTitle("Facebook", messsage: facebookdatafetchfailure)
                        return
                    }
                }
                else{
                    self.makeToast("\(error?.localizedDescription)")
                }
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

编辑也
发布了Facebook开发人员支持的错误,并在上面提到的dropbox链接中添加了crashlytics文本文件.
https://developers.facebook.com/bugs/1234180366602093/