ios - 在不同的项目/包中使用对 Storyboard的 Storyboard引用似乎已损坏

标签 ios xcode uistoryboard

现在,我有一个工作区,里面有两个项目,一个叫“ProjectOne”,另一个叫“ProjectTwo”,如下所示:

image

他们分别有一个 Storyboard,现在我想通过按下“To Project Two”来连接两个 Storyboard,如下所示:

image

但是当我点击按钮时,它显示

"Terminating app due to uncaught exception 'NSInvalidArgumentException', >reason: 'Could not find a storyboard named 'two' in bundle NSBundle 8C6A5FDC9E06/ProjectOne.app> (loaded)'"

这有可能吗?找了几天方法也不知道...

最佳答案

如果您的 Storyboard在另一个项目/模块中,您需要使用您要包含的 Storyboard的完整名称 - 这意味着包括包名称。请参阅下图,了解如何在 Storyboard 中进行设置。我已经使用与您的项目设置相同的 ProjectOne 和 ProjectTwo 创建了示例设置。

enter image description here

关键是您放入 Storyboard引用中的信息。您还需要包含包名称!仅供引用,我提供了指向 Adding a Storyboard Reference 的链接

enter image description here

编辑

虽然这行得通,但是当您开始使用由 View Controller 支持的各种场景构建 Storyboard时,它会在以后导致问题,现在必须将其链接到两个项目目标。更重要的是,这种关系隐藏在项目的配置细节中。一个更好的方法是利用工作区并为两个项目使用的资源添加一个共享文件夹。

enter image description here

接下来将共享文件夹添加到与 ProjectOne 和 ProjectTwo 相同级别的工作区中。现在通过将共享文件夹拖到项目文件(xcodeproj)上,将对共享文件夹的引用添加到每个项目。这将为您将该文件夹添加到项目目标。

enter image description here

现在每个项目都包含对共享文件夹的引用,共享关系现在明确显示在项目导航器中。

enter image description here

关于ios - 在不同的项目/包中使用对 Storyboard的 Storyboard引用似乎已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36783325/

相关文章:

iphone - 在自定义 UINavigationController 中强制执行特定 rootViewController 的推荐方法是什么?

iphone - (iphone)自动旋转不会改变我的 View 大小

objective-c - 如何更改 iOS 中 TableView 和 Button 控件的颜色?

swift - 我应该如何处理 shouldPerformSegueWithIdentifier 中的 Alamofire 响应?

iphone - 自定义 UIButton

ios - 如何同时使用 swift 2 和 swift 3?

ios - 游戏 Assets 有时不出现

ios - 类 Parse 的重复接口(interface)定义

ios - 您如何调用/使用位于子项目中的 Storyboard

uiviewcontroller - 子内容 View Controller View 的 Storyboard的边界大小错误?