2016-02-11 37 views
2

有时,当我运行应用程序,我得到了白色的屏幕。但我知道应用程序仍在运行(因为我需要播放声音)。iOS白屏调试

不知何故,视图层次结构搞砸了我猜。问题是,如果我从Xcode运行,我从不会看到白屏。如果我看到,我会知道层次结构如何。

dispatch_async(dispatch_get_main_queue(), ^{ //need to run in main thread. 

self.window.rootViewController = self.defaultVC; 
[self.window makeKeyWindow]; 
self.window.hidden = NO; 

}); 

是因为视图层次吗?或者其他可以产生白屏的原因?

+0

应该有很多白屏的原因..你需要提供更多的代码和描述 –

回答

0

检查您的复制包资源(在构建阶段中找到),并确保所有.xib文件都正确列出(例如,它们的确在那里)。

也有一个特定的原因,你是以编程方式创建该窗口,而不是使用setRootViewController?

+0

这是因为我需要显示一些自定义视图的启动屏幕(需要支持iOS 7及以上)。 –

+0

应该有很多白色屏幕的原因..你需要提供更多的代码和描述 –

+0

我打算提供更多的代码。问题是我真的不知道会是什么原因导致白屏。看起来我需要复制粘贴所有代码。 –

1

有一个叫做PonyDebugger的很棒的小工具,可以启用基于视图的调试。您只需将其全部放入您的项目中,并在AppDelegate中启动它,随时可以看到显示的视图。 基本上可以像“chrome F12”一样在层次结构中执行操作。 这帮助我解决了过去的白屏问题。