UISplitViewController "ViewIdentifier was not found in Storyboard" 错误 iOS 7

UISplitViewController "ViewIdentifier was not found in Storyboard" error with iOS 7

我正在处理一个关于 UISplit 的奇怪错误ViewController

我创建了一个库,以便尽可能地处理 ViewController 的演示和重用代码。在此代码中,我使用故事板 ID 实例化了 ViewController,我正在使用 SplitViewController 切换 ViewController。

尽管它在 iOS 8 中工作正常,但它在 iOS 7 中崩溃并出现此错误。

Storyboard (<UIStoryboard: 0x7f94bb52ccd0>) 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 在 iPhone 和 iOS 7 中得到支持,如果它是初始视图控制器,它就可以工作。如果你之后尝试加载,就像我在我的问题中尝试的那样,你会得到同样的错误。

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

感谢您的宝贵时间