2015-07-28 66 views
5

我创建了一个Cocoapods和Swift 1.2库。我有一个故事板,我必须在我的图书馆中加载。虽然,我总是得到同样的错误:从框架加载故事板

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle`.

我曾尝试:

  • 把我的故事板Classes文件夹
  • 把我的故事板Assets文件夹内
  • 删除里面我从设备中应用,清理项目并重新构建。
  • 使用UIStoryboard(name:"Main", bundle:nil)
  • 使用UIStoryboard(name:"Main", bundle:NSBundle(forClass:self))
  • 使用UIStoryboard(name:"Main", identifier:myIdentifier)

我虽然能够从我的示例项目加载故事板,然后放我才能够实例初始视图控制器。

试图从初始视图控制器调用storyboard!.instantiateViewControllerWithIdentifier(someIdentifier)总是导致视图控制器不被发现,但我可以清楚地看到有一个视图控制器与该标识符。我该如何解决这个问题?

+0

'NSBundle(forClass:self)'...'self'是与故事板相同的包中的一个类? – nhgrif

+0

@nhgrif是的。故事板文件和类位于相同的文件夹中。 – user26830

+0

故事板是否添加到目标?你可以在文件检查器(在右侧边栏)中检查它。 – Glorfindel

回答

2

发现问题。只是愚蠢的,但从项目中删除Main.storyboard后,我没有从项目的设置中删除它。试图加载它作为初始视图控制器。更改设置后,UIStoryboard(name:"Main", bundle:NSBundle(forClass:self)正常工作。