简报:
应用程序视图控制器堆栈:
Navigation Controller > RootViewController > TabbarController
其中 RootViewController 是一个基本的UIViewController
(如菜单),并允许用户UIViewController
为即将到来的UITabbarController
.
出现:
- 发生在
iPhone 4S, iOS 5
- 不会发生在
iPhone 5, iOS 6
- 不会发生在任何
simulator (iOS 5, 6)
在我导航到UITabbarController
(由 4 组成UIViewControllers
)后,如果我尝试在选项卡之间切换,App 本身和 XCode 会无限期挂起(5 到 60 秒之间)。我已经禁用了所有后台线程、所有网络流量、每个单例。然而它在调试时仍然挂起。
这在每个运行时发生一次,仅在第一次更改选项卡时发生。
棘手的部分是,如果我断开设备与 XCode 的连接并在不调试的情况下启动应用程序,则不会出现此类行为。我试图确定这个“挂起”发生在哪里。但是我无法捕获导致它的线程/进程。
看起来我的应用程序在此期间阻塞,并且viewDidLoad,viewDidAppear,viewDidDisappear
在挂起消失后消息开始回流。
我该如何解决这个问题,找出是什么原因造成的?
我正在使用XCode 4.6.1, iOS base SDK 6.1
. 我已经在 , 上启动了这个应用XCode 4.3.2
程序iOS base SDK 5.1
。然后升级到XCode 4.6.1
,就出现了这个问题。
我还分析了该应用程序可能存在的泄漏,没有泄漏,并且可疑应用程序在分析时没有挂起。
我试图解决这个问题好几天了,这有点令人沮丧。如果需要,我可以提供任何其他详细信息。