我的应用程序崩溃在[UIView(CALayer Delegate)drawLayer:inContext :,最困难的是崩溃日志中没有我的应用程序的任何代码,我无法重现它。这个问题花了我好几天我仍然有不知道。你们提供的任何想法,我都会尝试。谢谢你的帮助。
crash log:
0 libobjc.A.dylib objc_msgSend_stret (in libobjc.A.dylib) + 18
1 UIKit -[UIView(CALayerDelegate) drawLayer:inContext:]
2 QuartzCore -[CALayer drawInContext:] (in QuartzCore) + 116
3 QuartzCore CABackingStoreUpdate_ (in QuartzCore) + 1782
4 QuartzCore CA::Layer::display_() (in QuartzCore) + 972
5 QuartzCore CA::Layer::display() (in QuartzCore) + 128
6 QuartzCore CA::Layer::display_if_needed(CA::Transaction*) (in QuartzCore)
7 QuartzCore CA::Context::commit_transaction(CA::Transaction*)
8 QuartzCore CA::Transaction::commit() (in QuartzCore) + 314
9 QuartzCore CA::Transaction::pop() (in QuartzCore) + 126
10 QuartzCore +[CATransaction commit] (in QuartzCore) + 34
11 UIKit _UIWindowUpdateVisibleContextOrder (in UIKit) + 188
12 UIKit +[UIWindow _prepareWindowsForAppResume] (in UIKit) + 10
13 UIKit -[UIApplication _handleApplicationResumeEvent:] (in UIKit) + 74
14 UIKit -[UIApplication handleEvent:withNewEvent:] (in UIKit) + 1080
15 UIKit -[UIApplication sendEvent:] (in UIKit) + 54
16 UIKit _UIApplicationHandleEvent (in UIKit) + 5808
答案 0 :(得分:0)
解决方案是尝试并将问题分组。假设您有一个导致此问题的视图,那么最可能的解释是视图中的某些内容已损坏或已被释放。
1)您是否尝试打开Zombies,看看是否有一些dealloc'd项目正在收到消息?
2)在崩溃开始时显示(或即将显示)的视图中,要么一次删除一个项目,要么从视图中删除它们,然后逐个添加它们。做这种杂乱的工作的一个好方法是复制你的项目文件夹,保存旧文件夹,然后去掉一大堆代码,这样你就可以到达一个工作点。
我的猜测是,事情应该在它应该发布之前发布。