web-dev-qa-db-ja.com

UIKitCoreのクラッシュ[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] iOS 12のみ

Crashlyticsに報告されるクラッシュの数はまともです。これはiOS 12でのみ発生し、これを再現する方法はわかりません。おそらく、ユーザーはWKWebViewを使用しており、31 SafariServices 0x21d216740 __107+[_SFAutomaticPasswordInputViewController inputViewControllerWithAutoFillContext:passwordRules:completion:]_block_invoke.29 + 104のヒントからパスワードを入力しようとしている可能性があります

誰かが同様のクラッシュやアイデアを持っている場合、それは大歓迎です。

[〜#〜] update [〜#〜]:この問題はここで追跡されています: https://github.com/firebase/firebase-ios-sdk/issues/228 Igorに感謝

Crashed: com.Apple.main-thread
0  libsystem_kernel.dylib         0x207743df8 __abort_with_payload + 8
1  libsystem_kernel.dylib         0x20773d838 abort_with_payload_wrapper_internal + 100
2  libsystem_kernel.dylib         0x20773d7d4 abort_with_payload_wrapper_internal + 34
3  libobjc.A.dylib                0x206d7d4b4 _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 112
4  libobjc.A.dylib                0x206d7d40c __objc_error + 42
5  libobjc.A.dylib                0x206d94af0 weak_entry_insert(weak_table_t*, weak_entry_t*) + 314
6  libobjc.A.dylib                0x206d95a60 objc_initWeak + 360
7  UIKitCore                      0x23457508c -[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] + 1628
8  UIKitCore                      0x234fcaff8 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1240
9  UIKitCore                      0x234fbdfac __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 156
10 Foundation                     0x20854d51c -[NSISEngine withBehaviors:performModifications:] + 108
11 UIKitCore                      0x234fbde90 -[UIView(Hierarchy) _postMovedFromSuperview:] + 784
12 UIKitCore                      0x234fcdbb8 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1740
13 UIKitCore                      0x234843290 -[_UIKBCompatInputView addSubview:] + 48
14 UIKitCore                      0x234845634 -[UICompatibilityInputViewController setInputMode:] + 980
15 CoreFoundation                 0x207b1cd14 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
16 CoreFoundation                 0x207b1cce0 ___CFXRegistrationPost_block_invoke + 64
17 CoreFoundation                 0x207b1c1d0 _CFXRegistrationPost + 392
18 CoreFoundation                 0x207b1be7c ___CFXNotificationPost_block_invoke + 96
19 CoreFoundation                 0x207a941c0 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1404
20 CoreFoundation                 0x207b1b908 _CFXNotificationPost + 696
21 Foundation                     0x20852aeb0 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
22 UIKitCore                      0x234956920 -[UIKeyboardImpl _setKeyboardInputMode:userInitiated:updateIndicator:force:executionContext:] + 1108
23 UIKitCore                      0x2349564b0 -[UIKeyboardImpl setKeyboardInputMode:userInitiated:updateIndicator:executionContext:] + 112
24 UIKitCore                      0x2349a4460 -[UIKeyboardTaskEntry execute:] + 200
25 UIKitCore                      0x2349a2b70 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 384
26 UIKitCore                      0x2349a3280 -[UIKeyboardTaskQueue addAndReturnTask:] + 132
27 UIKitCore                      0x2349a37d0 -[UIKeyboardTaskQueue performSingleTask:] + 136
28 UIKitCore                      0x234956098 -[UIKeyboardImpl setInputMode:userInitiated:] + 116
29 UIKitCore                      0x234844e9c -[UICompatibilityInputViewController resetInputModeInMainThread] + 196
30 UIKitCore                      0x234846450 __51-[UICompatibilityInputViewController setInputMode:]_block_invoke.624 + 544
31 SafariServices                 0x21d216740 __107+[_SFAutomaticPasswordInputViewController inputViewControllerWithAutoFillContext:passwordRules:completion:]_block_invoke.29 + 104
32 libdispatch.dylib              0x2075e76c8 _dispatch_call_block_and_release + 24
33 libdispatch.dylib              0x2075e8484 _dispatch_client_callout + 16
34 libdispatch.dylib              0x2075949ec _dispatch_main_queue_callback_4CF$VARIANT$mp + 1068
35 CoreFoundation                 0x207b3e1bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
36 CoreFoundation                 0x207b39084 __CFRunLoopRun + 1964
37 CoreFoundation                 0x207b385b8 CFRunLoopRunSpecific + 436
38 GraphicsServices               0x209dac584 GSEventRunModal + 100
39 UIKitCore                      0x234b30bc8 UIApplicationMain + 212
40 MyApp                          0x102f15770 main (main.m:29)
41 libdyld.dylib                  0x2075f8b94 start + 4

UPDATE:

Firebaseチームは、5.19.0で修正されたと報告しました https://firebase.google.com/support/release-notes/ios#5.19.

Performance Monitoring

Fixed a crash related to password auto-fill screen
13
Gomfucius

同様のクラッシュがありました。メール、パスワード、パスワードの順に3つのUITextFieldsがあった場合にのみ発生しました。パスワードフィールドのプロパティisSecureTextEntryはtrueに設定されます。クラッシュさせるために、フォーカスをパスワードフィールドの1つに変更し、メイン画面に切り替えてアプリに戻りました。メイン画面とアプリの2番目または3番目の切り替えで発生することがありました。

したがって、私の場合、理由はFirebase/Performanceポッドでした。私はしばらくそれを削除しました-これはバグを修正しました。

[〜#〜] update [〜#〜]:Firebaseチームは5.19.0でこのバグを修正しました。 Firebaseポッドを更新するだけです。

8
Denis Vert