私のアプリはデバッグモードで正常に動作しており、テスターがリリースビルドで試してみると、クラッシュすることはめったにないので、私にとっては非常に奇妙です。コンソール ログとクラッシュ ログから私が理解したことは、どこかの UI がセカンダリ スレッドから更新しようとしているが、常にそうであるとは限らないということです。
クラッシュ ポイントで、コンソール ログには次のように表示されます。
MyApp[715] <Warning>: CoreAnimation: warning, deleted thread with uncommitted CATransaction; set CA_DEBUG_TRANSACTIONS=1 in environment to log backtraces.May 21 10:51:25
MyApp[715] <Warning>: bool _WebTryThreadLock(bool), 0x1e1dd280: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now...May 21 10:51:25
MyApp[715] <Notice>: 1 0x38b048f7 WebThreadLock
& デバイス クラッシュ ログ クラッシュ スレッドの説明 & エラー タイプは以下のとおりです
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xbbadbeef
Crashed Thread: 15
.
.
.
Thread 15 Crashed: 0
WebCore 0x38b03944_WebTryThreadLock(bool) + 164 1
WebCore 0x38b048f2 WebThreadLock + 62 2
UIKit 0x374424f6 -[UIWebTiledView layoutSubviews] + 38 3
UIKit 0x374424c6 -[UIWebDocumentView layoutSubviews] + 106 4
UIKit 0x373bb7fe -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 254 5
QuartzCore 0x30e92d5e -[CALayer layoutSublayers] + 210 6
QuartzCore 0x30e928fc CA::Layer::layout_if_needed(CA::Transaction*) + 456 7
QuartzCore 0x30e93830 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 12 8
QuartzCore 0x30e93216 CA::Context::commit_transaction(CA::Transaction*) + 234 9
QuartzCore 0x30e93024 CA::Transaction::commit() + 312 10
QuartzCore 0x30ed9df6 CA::Transaction::release_thread(void*) + 166 11 libsystem_c.dylib 0x31150128 _pthread_tsd_cleanup + 172 12
libsystem_c.dylib 0x3114fdfe _pthread_exit + 114 13
libsystem_c.dylib 0x31169160 pthread_exit + 24 14
Foundation 0x358bf226 +[NSThread exit] + 6 15
Foundation 0x35936696 __NSThread__main__ + 998 16
libsystem_c.dylib 0x3115d30e _pthread_start + 306 17
libsystem_c.dylib 0x3115d1d4 thread_start + 4
Thread 15 crashed with ARM Thread State (32-bit): r0: 0xbbadbeef r1: 0x00000000 r2: 0x030ba404 r3: 0x00000001 r4: 0x1e1dd280 r5: 0x3b4cacc0 r6: 0x00000000 r7: 0x030baa74 r8: 0x00000028 r9: 0x00006200 r10: 0x00000000 r11: 0x030bbc70 ip: 0x3b4061e0 sp: 0x030baa6c lr: 0x38b0393b pc: 0x38b03944 cpsr: 0x60000030
この修正については、まだ再現していないため、よくわかりません。誰かが少なくとも再現のために私を助けることができれば、それは大きな助けになるでしょう:)