prepareForSegue 更新到 iOS9 后冻结

Posted

技术标签:

【中文标题】prepareForSegue 更新到 iOS9 后冻结【英文标题】:prepareForSegue Freezes after updating to iOS9 【发布时间】:2015-09-18 10:43:56 【问题描述】:

过去 24 小时我一直在尝试解决的奇怪问题。

我有一个运行良好的应用程序。我为 ios9 更新了 Xcode,现在 5 个 push segues 之一不会执行该操作。我可以在 'prepareForSegue' 内设置断点,一切似乎都运行正常,但是一旦它退出该功能,手机 CPU 就会最大化并就在那里。 GUI 不做任何事情。 我已经尝试了很多事情,从创建一个新的viewcontroller 并使用相同的 segue 链接,一切正常。只有这一个视图控制器我无法执行“performSegueWithIdentifier”。我已经评论了这个viewcontroller 中的所有代码,但仍然没有。与那些工作的人相比,它没有什么特别之处。 我现在完全卡住了,有人有想法吗?

对不起,如果我含糊不清,请询问我在这里没有注意到的任何细节。

谢谢 院长

【问题讨论】:

删除任何自定义字体(如果使用)然后尝试 在仪器中运行它,看看是什么占用了 CPU。 这听起来像是主线程的死锁。让它运行并冻结,在调试器中按下暂停并截取活动线程,这样我们就可以看到导致冻结的原因或至少它在哪里徘徊。 在更新到 Xcode 7.0 后,我面临一个非常相似的问题,我的测试目标设备是 8.2,prepareForSegue 后屏幕冻结。我有一个 UITextView 以及目标控制器上的一些可选字符串属性。 iOS 9 Segue Causes App To Freeze (no crash or error thrown) 的可能重复项 【参考方案1】:

所以在完全重建问题视图控制器后,我已经确定了错误的原因。 确实很奇怪,我在 View 上有一个 UITextView,默认文本为“Notes ...”......删除它,一切正常。 不敢相信这是原因,但是嘿....一定是 iOS9 中的一个错误,默认文本通过情节提要放置在文本视图中。

将我的发现放在一起,以防其他人遇到类似问题

【讨论】:

很好的发现,应该标记为解决方案。感谢 Apple,你又做到了。 删除 textView 中的默认文本也对我有用。干杯! 只有UITextView吗?我有几个 UIView、UILabel、UITableView、UIImageView 和 UIButtons 并面临同样的问题!任何建议 遇到了完全相同的问题。我在一个视图控制器中有一个 UITextView 并尝试自定义呈现它并突然冻结。然后我删除了文本视图,一切都恢复正常了。 这太疯狂了。我有一个 UITextView 导致它崩溃。与任何事物无关。删除它并从头开始重新创建,现在它正在工作。感谢您找到这个。

以上是关于prepareForSegue 更新到 iOS9 后冻结的主要内容,如果未能解决你的问题,请参考以下文章

将用户发送到 iOS9 应用商店进行更新

更新到 IOS 9 后无法登录 Facebook

iOS 9 - LocationManager 更新位置过于频繁

ios9关闭系统自动更新

iOS 9.3.1 更新推送,解决 Safari 崩溃问题

使用 prepareForSegue 设置方法值