我有一个UIViewController的子类,当它从另一个类调用时,应用程序只是冻结 - 我使用了Xcode调试器并且想到当我试图访问类的视图属性时应用程序冻结。另一个奇怪的事情是当我输入调试器控制面板时:“po objectOfTheProblematicClass.view”调试器停止响应。 我使用的代码与此类似:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
WTStickyViewController *stickyVC = [sb instantiateViewControllerWithIdentifier:@"WTStickyViewController"];
stickyVC.sticky = sticky;
// Setup view controller containment:
[self.parentViewController addChildViewController:stickyVC];
self.containerView = self.parentViewController.view;
[self.containerView addSubview:stickyVC.view];
WTStickyViewController是UIViewController的子类。应用程序到达时会冻结
[self.containerView addSubview:stickyVC.view];
但这是因为这是第一次调用stickyVC.view 例如,我会把代码放在某个地方
UIView *viewForExample = stickyVC.view;
应用程序会在那里冻结。
完全相同的应用程序在使用iOS 8的设备上编译时工作正常但在iOS 9中存在此问题。
如果有人知道为什么会发生这种情况,如果有解决方案,那就太好了。谢谢。
答案 0 :(得分:1)
我遇到了类似的问题,这绝对令人抓狂。随着应用程序死锁,CPU在调试期间在资源监视器中达到了大约100%。打印到控制台或只是一般访问视图控制器的视图属性导致此行为。最终,修复了什么'它对我来说是从基本本地化文件中删除它。我知道这没有意义,但我会尽我所能详细说明。
我正在维护一个拥有2' main'故事板名为Main_iPhone和Main_iPad,您可以猜测它是根据您启动的设备动态加载的。我注意到只有iPhone笔尖视图如所描述的那样陷入僵局,并且iPad正在加载正常。我唯一可以说的是iPhone故事板已启用本地化,而iPad故事板却没有。所以这里我采取了松散的步骤将其从基本本地化中删除(您可能希望在单独的分支/沙箱中执行此操作以确保在删除项目引用之前这样做):
您也可以使用右侧文件属性视图中的更新位置按钮更新文件位置(请参阅其他图像)。
不知道这是否会解决问题,但我认为我分享了帮助他人的机会。
答案 1 :(得分:0)
向苹果发送了一个错误报告,希望很快就会修复 - 问题确实存在于Xcode 7中。 如果遇到类似问题,可以通过执行以下操作之一来解决: 1)使用Xcode 6.4,至少在Apple修复此错误之前。
2)在故事板中重建有问题的视图。
一旦我有机会与我的经理谈论它,我会发布雷达链接......