Safari服务崩溃[SFAuthenticationViewController dismissViewControllerAnimated:completion:]

Pab*_*nez 16 crash ios ios11

我经常在我的应用程序中崩溃.iOS系统的崩溃似乎只发生在最新的iOS 11中.

这是崩溃

Crashed: com.apple.main-thread
0  libobjc.A.dylib                0x18439d7ec objc_object::release() + 8
1  SafariServices                 0x1995d471c __75-[SFAuthenticationViewController dismissViewControllerAnimated:completion:]_block_invoke + 32
2  UIKit                          0x18e5bf030 -[UIPresentationController transitionDidFinish:] + 1320
3  UIKit                          0x18e79e760 -[_UICurrentContextPresentationController transitionDidFinish:] + 44
4  UIKit                          0x18e5c2a20 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke_2 + 188
5  UIKit                          0x18e38e9d8 -[_UIViewControllerTransitionContext completeTransition:] + 116
6  UIKit                          0x18e38e7c8 -[UITransitionView notifyDidCompleteTransition:] + 252
7  UIKit                          0x18e38e260 -[UITransitionView _didCompleteTransition:] + 1128
8  UIKit                          0x18e38dde4 -[UITransitionView _transitionDidStop:finished:] + 120
9  UIKit                          0x18e2b370c -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 312
10 UIKit                          0x18e2b3418 -[UIViewAnimationState animationDidStop:finished:] + 296
11 UIKit                          0x18e2b34b8 -[UIViewAnimationState animationDidStop:finished:] + 456
12 QuartzCore                     0x188e57d6c CA::Layer::run_animation_callbacks(void*) + 284
13 libdispatch.dylib              0x1847f1048 _dispatch_client_callout + 16
14 libdispatch.dylib              0x1847fdb74 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1016
15 CoreFoundation                 0x184e13f20 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
16 CoreFoundation                 0x184e11afc __CFRunLoopRun + 2012
17 CoreFoundation                 0x184d322d8 CFRunLoopRunSpecific + 436
18 GraphicsServices               0x186bc3f84 GSEventRunModal + 100
19 UIKit                          0x18e2df880 UIApplicationMain + 208
20 Jaumo                          0x1005674b4 main (main.m:20)
21 libdyld.dylib                  0x18485656c start + 4
Run Code Online (Sandbox Code Playgroud)

不确定这次崩溃是什么.有人可以帮忙解决这个问题吗?

小智 3

更新到最新的 Facebook SDK(从相当旧的版本 4.11 到 4.27.1)后,我们遇到了同样的问题。实际上,我们有一些从applicationDidBecomeActive触发 Facebook 登录的事件发起的调用(因此打开一个SFAuthenticationSession会打开SFAuthenticationViewController提示,要求用户继续使用 Facebook 或其他第三方进行身份验证)。一旦用户点击“继续”,它就会applicationDidBecomeActive再次触发该事件。这导致了无限循环的重新启动SFAuthenticaionSessions,从而导致崩溃。因此,我们决定根本不在该事件中调用 Facebook 登录。总结一下如何避免这种崩溃:您必须确保SFAuthenticationSession start()同时仅调用 Facebook 登录(或方法)一次。