2016-05-10 44 views
5

Project structure無法通過框架

訪問公衆迅速類我創建了一個項目並將其導入該框架內。當我將此框架加載到演示應用程序中時,我可以訪問MyTest.swift文件中的公共類MyTest,但無法訪問MessagesViewController.swift中的公共類。我錯過了什麼嗎?我們不能通過框架以這種方式訪問​​項目中的文件嗎?

+0

您是否正在導入FireChat-Swift模塊? – redent84

+0

你能否提供更多的信息,比如你正在編譯的錯誤。你爲什麼嵌套Xcode項目?它看起來像你的測試應用程序是FireChat是你的框架?我會說你的項目結構混淆了,但我需要更多細節來確定。 –

回答

2

重構您的項目空間,以便您的框架中沒有應用程序,然後解決應用程序和框架之間的鏈接文件。

  1. 創建一個xcworkspace文件來包含所有的子項目。欲瞭解更多信息,請查閱Xcode Workspace部分Xcode Concepts文檔中

enter image description here

  • 打開工作區文件,並且xcodeproj文件拖動來添加框架和應用項目「項目導航」面板。在將文件添加爲Xcode時要小心,因爲要將一個項目放在另一個項目中,您不需要這樣做。 enter image description here

  • 構建您的框架,然後將其鏈接到應用程序項目。只要它們是公共的,這也將使你的應用程序項目可用的所有框架文件(詳情見下文)。在編輯器視圖中導航到FireChat-Swift應用程序項目目標,然後從框架項目打開產品目錄,然後將框架文件拖到常規選項卡的嵌入式二進制文件部分。

  • enter image description here

  • 現在你的框架與您的應用程序的項目聯繫在一起。您需要將您的框架導入到應用程序的源代碼中。 enter image description here

  • 將新文件添加到您的框架中,並記住如果您需要將它們用於框架之外(即通過您的應用程序),則需要公開它們。

  • 2

    您是否已將MessagesViewController.swift添加到原始項目內的目標?

    要檢查它只是打開原始項目,選擇MessagesViewController.swift並看看右側邊欄(目標成員資格部分)。

    +0

    如此原始,但如此強大。只需檢查並取消選中某個文件的目標成員資格,它就可以實現這個訣竅:) – denis631