2016-04-22 120 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!)! 
    }