2016-04-22 121 views
7

现在,我有一个有两个项目的内部工作区,一个是叫“ProjectOne”,另一个是“ProjectTwo”如下:在不同的项目/包用故事板引用到故事板出现破

image

他们分别有一个故事板,现在我想按“到项目中的两个”如下连接两个故事板:

image

但是当我按一下按钮,它那如何

“终止应用程序由于未捕获的异常 'NSInvalidArgumentException'>原因: '找不到一个名为情节串连图板 '两化' 捆绑一个NSBundle 8C6A5FDC9E06/ProjectOne.app>(装载)'”

有没有可能做到这一点?我寻找了几天的方法,而且不知道......

+2

今天我的一位同事遇到了同样的问题。看起来好像故事板中的Bundle标识符被忽略。这可以通过为_ProjectTwo_创建一个'NSBundle'实例并记录它的描述来验证。描述清楚地表明_ProjectTwo_而不是_ProjectOne_。你有没有设法找到解决方案? –

回答

2

1.You可以像这样同时添加故事板的目标会员资格:在Project two
Target Membership

2.Change源文件的名称避免碰撞, 检查其目标成员为Project one,将这些更改配置为故事板二。

3. Project twoAppDelegate文件应保持不变。

+1

感谢您的帮助,是否有任何方法添加目标会员?因为我在工作区中添加了两个项目,但只在故事板中显示一个目标会话。 –

+1

我可以证实@ IvanNgan的观察。 –

+0

@IvanNgan http://stackoverflow.com/a/372​​76036/3975501 <---这解决了我非常类似的问题。请检查,检查并重新检查故事板参考属性检查器中的包标识符是否正确!希望这也能解决你的问题! – ErikBrandsma

6

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

enter image description here

关键是你把故事板的参考信息。您还需要包含软件包名称!仅供参考我已经包含了一个链接到Adding a Storyboard Reference

enter image description here

编辑

虽然这个作品它导致的问题以后,你开始建立你的故事板出与被支持的各种场景视图控制器,现在必须链接到两个项目目标。更重要的是,这种关系隐藏在项目的配置细节中。更好的方法是使用工作区并为两个项目使用的资源添加一个共享文件夹。

enter image description here

接着,在相同的水平ProjectOne和ProjectTwo添加共享文件夹到工作空间。现在通过将每个项目的共享文件夹拖放到项目文件(xcodeproj)中来添加对该项目的引用。这会将该文件夹添加到您的项目目标。

enter image description here

现在,每个项目包含到共享文件夹的引用,共享关系现在被显式项目导航内示出。

enter image description here

+1

OP中的屏幕截图清楚地显示输入了软件包名称。 –

+0

我正在确认设置 - 我编译了项目并运行了 –

+0

我将回顾我的示例项目设置并根据需要编辑答案 –

1

这是一个解决方案,我发现从项目引用荚 - 你可以从公开吊舱(或其他项目在您的案件)的包,然后访问它时,你需要。也许值得一提的是你想访问的方法应该是公开的。

static var bundle:NSBundle { 
    let podBundle = NSBundle(forClass: thisViewController.self) 

    let bundleURL = podBundle.URLForResource("myPod", withExtension: "bundle") 
    return NSBundle(URL: bundleURL!)! 
    }