iPhone应用程序在iPad上运行:RootViewController的不是tabBarController因为它在iPhone上运行

问题描述:

你的好日子的时候,iPhone应用程序在iPad上运行:RootViewController的不是tabBarController因为它在iPhone上运行

我有我想在iPad上运行的iPhone应用程序。但是,我在iPad(SIM或设备)上运行时遇到不同的行为,而不是在iPhone上运行它。注意:我不想让它成为通用应用程序,它被设置为iPhone应用程序。

初始视图控制器是一个tabBarController - 见下文(从iPhone故事板采取 - 没有iPad的故事板):

enter image description here

我在appDidFinishLaunchingWithOptions一些代码,给了我一个手柄上我稍后使用的tabBarController。在iPhone上运行时,我使用的代码行(如下面第53行所示)可以正常工作,并返回tabBarController对象 - 初始视图控制器。

enter image description here

我的问题:当在iPad上(模拟器或设备)运行,self.window.rootViewController在应用程序的委托返回我的“警报中心 - 视图 - 控制器”的对象 - 你可以从故事板看到上面的代码片段,更进一步地放在视图层次结构中,而且绝对不是初始视图控制器。

这里发生了什么?我原以为是因为它运行在iPhone模式而不是iPad模式下,所以在iPad上运行时不应该改变视图的层次结构。显然我错了!

我应该试图以不同的方式获得初始视图控制器吗?

有人能告诉我有什么不同吗?

谢谢!

+0

你是什么意思的空白对象?无或UIViewController? –

+0

我刚刚更新了问题,更好地描述了返回的内容,谢谢:) – Stretch

检查的主要故事板文件的基本名称关键的Info.plist文件,并确保只有用正确的文件名故事板的用于iPhone的条目。我遇到了同样的问题,发现plist有两个故事板条目。删除附加键后,我的应用程序不再崩溃。还结帐UIStoryboard Class Reference