2016-01-21 18 views
1

我开始这样的警告:iOS9“修改从后台线程的自动布局引擎”不使用自动布局

此应用程序从后台 线程修改自动布局引擎,这可能会导致发动机损坏和怪异崩溃。这个 将在未来的版本中导致异常。

这里是与报警信息的回溯:

Stack:(
0 CoreFoundation      0x25542303 <redacted> + 150 
1 libobjc.A.dylib      0x24d0edff objc_exception_throw + 38 
2 CoreFoundation      0x25542231 <redacted> + 0 
3 Foundation       0x25e25bbb <redacted> + 170 
4 Foundation       0x25ccb637 <redacted> + 38 
5 UIKit        0x297e0431 <redacted> + 52 
6 UIKit        0x297e0e1f <redacted> + 222 
7 UIKit        0x297fd52d <redacted> + 96 
8 UIKit        0x29efe579 <redacted> + 320 
9 UIKit        0x299dc8e9 <redacted> + 148 
10 UIKit        0x299cb44f <redacted> + 42 
11 UIKit        0x296d5a83 <redacted> + 714 
12 QuartzCore       0x277b1ad5 <redacted> + 128 
13 QuartzCore       0x277ad1d1 <redacted> + 352 
14 QuartzCore       0x277ad061 <redacted> + 16 
15 QuartzCore       0x277ac581 <redacted> + 368 
16 QuartzCore       0x277ac233 <redacted> + 614 
17 QuartzCore       0x277d9b63 <redacted> + 310 
18 libsystem_pthread.dylib    0x25279905 <redacted> + 508 
19 libsystem_pthread.dylib    0x25279507 <redacted> + 86 
20 libsystem_pthread.dylib    0x2527a485 pthread_exit + 28 
21 Foundation       0x25ca31d7 <redacted> + 10 
22 Foundation       0x25d5e34f <redacted> + 1178 
23 libsystem_pthread.dylib    0x2527ac7f <redacted> + 138 
24 libsystem_pthread.dylib    0x2527abf3 _pthread_start + 110 
25 libsystem_pthread.dylib    0x25278a08 thread_start + 8 

据我所知,我不使用自动布局(我想要的应用程序是的iOS 5.1.1兼容)。而且我似乎也不在报道的回溯范围内。

我也有PSPDFUIKitMainThreadGuard类启用,它应该检查主线程访问,但没有什么恼怒的东西。

有什么办法如何找出什么是做这样的事情?

问题This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes没有解释如何调试这样的事情。

+0

任何从主队列以外的任何UI组件的更新将产生此消息 - 所以看看你从哪里更新UI完成处理程序等 – Paulw11

+1

添加一个异常断点。告诉我们导致崩溃的代码,而不是错误。 :D – Fogmeister

+0

该应用程序不会崩溃,它只是产生这个警告到调试日志,我真的不知道代码的哪一部分这样做... 调试工作正常与PSPDFUIKitMainThreadGuard类,但它什么都不做关于这个问题 – LetynSOFT

回答

0

不管你是否直接使用Autolayout不是问题的关键。操作系统正在将传统的autoresizingMask转换为现代的NSLayoutConstraint

该问题与修改主界面以外的任何地方的用户界面有关。 这种情况通常发生的情况:

  • 在响应NSNotification
  • 从异步方法
  • 执行的线程完成块返回你不用管
  • 在后台明确计划任务

关于的注意事项该应用程序doesn' t碰撞...
该应用程序崩溃。所有你需要的是时间和几千用户...

相关问题