iOS 7中的UISplitViewController“在Storyboard中找不到ViewIdentifier”错误

我正在处理UISplitViewController周围的奇怪错误

我创建了一个库,以便尽可能地处理ViewControllers表示和重用代码。 在这段代码中,我使用他们的故事板ID实例化ViewControllers,我用它来切换一个带有SplitViewController的ViewController。

尽管它在iOS 8中运行良好,但它在iOS 7中崩溃时出现此错误。

Storyboard () doesn't contain a view controller with identifier 'MySplitViewControllerIdentifier' 

发生这种情况的代码是这样的

 +(UIViewController *) instantiateStoryboard:(UIStoryboard *) storyboard withViewIdentifier:(NSString *) identifier { @try { if ([identifier isEqualToString:@""] || identifier == nil) { return [storyboard instantiateInitialViewController]; } else { //HERE IT CRASHES !!!!!! return [storyboard instantiateViewControllerWithIdentifier:identifier]; } } @catch (NSException *exception) { NSLog(ERROR_NO_VIEWCONTROLLER_FOUND, [self class], identifier, storyboard.description); } } 

我在故事板上多次检查了这个SplitViewController的配置,故事板ID是正确的。 如果有帮助,则此SplitViewController不是子类。

有人处理过类似的事吗?

谢谢

嗯,我有点愚蠢的xD

UISplitViewController在iOS 8及更高版本中支持iPhone,但我在iOS 7模拟器中尝试过。

编辑

但这是奇怪的事情。 实际上UISplitViewController在带有iOS 7的iPhone中受支持,如果它是初始视图控制器,它就可以工作。 如果您尝试加载之后,正如我在我的问题中尝试的那样,您将得到相同的错误。

所以我将我的初始View Controller更改为我的UISplitViewController,并在需要时更改我的根视图控制器。 我可以回到我的SplitViewController,因为[storyboard instantiateInitialViewController]在这种情况下工作正常。

谢谢你的时间