我的应用程序出现了一个奇怪的崩溃(仅限iPad的9.x),我不确定如何调试它,因为日志无助于发现正在发生的事情。
最奇怪的是日志显示Auto layout internal error
,但我的应用程序没有打开自动布局。
任何人都知道如何调试导致它的原因?
我认为部分代码是导致崩溃的原因:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapBackground:)];
[self.ivBackground addGestureRecognizer:tap]; // UIImageView (background)
}
- (void)tapBackground:(UITapGestureRecognizer*)tap
{
[self.view endEditing:YES];
[self dismissViewControllerAnimated:YES completion:nil];
}
答案 0 :(得分:3)
在崩溃日志中,您可以看到它与设备的键盘有关。您能否请在第4行和第36行之间展开崩溃日志,或者上传完整的崩溃日志以便我查看。感谢
它还在崩溃日志中标记为bug!
。
<强>更新强>
检查完整日志后,它看起来像是单指点击
20 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:]
导致textField成为第一响应者,即设置键盘,但同时手势触发了endEditing并解除了viewController。
键盘正在崩溃应用程序,因为在Autolayout设置完成之前已删除textField。
我会重新审视你如何构建你的观点和手势,以及你如何解雇或关闭那个VC。