如何在操场上编译故事板

时间:2017-03-30 09:41:39

标签: ios xcode8 swift-playground xcode-storyboard

我正在操场上创建一个应用程序,我在这个项目中添加了一个Main.storyboard文件。但是当它编译时,它会给我以下错误。

NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle NSBundle 

所以我开始认为这可能是一些错字,所以这就是为什么这个错误产生的原因。但这不是问题,所以我开始搜索谷歌和stackoverflow,但没有找到关于我的问题的解决方案。有关以下内容的stackoverflow有很多问题,但每个问题都有一个非常具体的场景。

然后我从github找到一个游乐场项目,其中开发人员添加了一个主要的故事板并且它的编译完美,但它的扩展名是Main.storyboardc。然后我搜索storyboardc扩展。所以我理解它的编译故事板。 然后只是检查我双击Main.storyboard并将其名称更改为Main.storyboadc。然后生成以下错误

'NSInvalidArgumentException', reason: 'There doesn't seem to be a valid compiled storyboard 

现在,在这一点上,我确信我必须首先编译我的故事板然后它将添加到我的操场上,因为在.storyboardc扩展名下,它甚至没有找到主故事板。正如我上面所说。 所以我再次检查stackoverflow上的所有材料,每个都有一个非常具体的场景。所以指导我如何编译main.storyboard。

1 个答案:

答案 0 :(得分:6)

命令ibtool将为您完成此操作。

例如,您可以运行 终端内ibtool --compile Main.storyboardc Main.storyboard。 之后,将在Main.storyboardc中创建所有相关文件(Info.plist和.nib文件)。

现在,您可以将该.storyboardc文件放在项目中,并像往常一样引用故事板中的文件。

let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let viewController = storyboard.instantiateViewController(withIdentifier: "MyViewController")

.storyboardc文件只不过是一组nib文件。

有关详细信息,请参阅手册页man ibtool