Я получаю некоторые автоматические утверждения макета из-за задач пользовательского интерфейса, вызываемых из фонового потока.Чтобы отследить это, я добавил символическую точку останова для
-[NSISEngine _optimizeWithoutRebuilding]
Эта точка останова вызывается, но у меня нет трассировки стека из моего кода.Я проверил все потоки, когда он попал в это утверждение, и не получил никакой полезной информации, откуда он был вызван в моем коде.
This application is modifying the autolayout engine from a background thread after the engine was accessed from the main thread. This can lead to engine corruption and weird crashes.
Stack:(
0 Foundation 0x000000010cd1752a _AssertAutolayoutOnAllowedThreadsOnly + 77
1 Foundation 0x000000010cd17251 -[NSISEngine _optimizeWithoutRebuilding] + 61
2 Foundation 0x000000010cd1717f -[NSISEngine optimize] + 108
3 Foundation 0x000000010cd123a5 -[NSISEngine performPendingChangeNotifications] + 84
4 UIKitCore 0x00000001187e7cc8 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 2192
5 QuartzCore 0x000000010da41eae -[CALayer layoutSublayers] + 173
6 QuartzCore 0x000000010da46b88 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 396
7 QuartzCore 0x000000010da52ee4 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 72
8 QuartzCore 0x000000010d9c23aa _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 328
9 QuartzCore 0x000000010d9f9584 _ZN2CA11Transaction6commitEv + 608
10 QuartzCore 0x000000010d9fa435 _ZN2CA11Transaction14release_threadEPv + 201
11 libsystem_pthread.dylib 0x0000000115cd66ab _pthread_tsd_cleanup + 551
12 libsystem_pthread.dylib 0x0000000115cd9655 _pthread_exit + 70
13 libsystem_pthread.dylib 0x0000000115cd643a _pthread_wqthread_exit + 74
14 libsystem_pthread.dylib 0x0000000115cd5644 _pthread_wqthread + 472
15 libsystem_pthread.dylib 0x0000000115cd53fd start_wqthread + 13
Вопрос: Есть ли какой-то другой способ, которым я должен поставить точку останова, или какой-нибудь лучший способ отследить это?
Обновление: я добавил точки останова, как упомянуто, он достиг точки останова, ностек вызовов не показывает, что вызвало точку останова.Смотрите скриншоты.
У меня есть простое представление таблицы на экране, изначально я неполучить эти утверждения, просто оставаясь на этом экране некоторое время, запускает эти утверждения.