2016-10-10 71 views
0

我已閱讀Create and import swift framework(還有更多),但它不起作用。這就是我所做的:我創建了一個香草框架並添加了一個簡單的Test.swift。創建Swift框架(重訪)

enter image description here

這編譯沒有問題,我想,這應該是包含我的測試類的有效框架。

現在我導入此框架到另一個香草應用:

enter image description here

但在嘗試訪問我的框架失敗:

enter image description here

回答

1

與你的問題,「提供的信息不這樣的模塊「可能意味着您要麼沒有鏈接到框架,要麼框架不在框架搜索路徑中。此外,看起來您已將構建的框架直接拖入相關項目中,因爲我沒有看到FW.framework包含在工作區中的頂級項目中,還是作爲項目依賴項目(即您有當您打開FrameworkUse時,不會將FW.xcodeproj拖入項目導航器中)。有幾種方法可以解決此問題:

  1. FW.xcodeproj到項目導航某處FrameworkUse項目下(這將增加FW.xcodeproj作爲子項目的FrameworkUse項目)。然後轉到構建設置並a)將FW.framework目標作爲目標依賴項添加到FrameworkUse目標,b)將該框架(來自FW.xcodeproj下的Products組)添加爲嵌入式二進制文件。
  2. 當您打開FrameworkUse項目時,將FW.xcodeproj拖動到項目導航器的頂層。 Xcode會問你是否想創建一個新的工作區(除非你已經打開了一個工作區,在這種情況下,FW.xcodeproj將被添加到工作區中)。與上述選項類似,轉到構建設置並a)將FW.framework目標作爲目標依賴項添加到FrameworkUse目標,b)將框架(來自FW.xcodeproj下的Products組)添加爲嵌入式二進制文件。
  3. 如果您真的想依賴構建的FW.framework而不是使用選項1或2來表示構建依賴關係,則需要a)將該框架添加爲嵌入式二進制文件,以及b)轉到構建設置並添加包含FW.framework(通過在Finder中將其打開到「框架搜索路徑」中可以找到它的位置,例如"$(PROJECT_DIR)/Frameworks",如果項目目錄下的框架是放置構建的框架的位置)的目錄。
+0

我不知道3.這有點瘋狂,Link with Binary「顯示我的框架,但實際上還需要添加搜索路徑,一旦你知道它,這很容易,但基本上這不是我稱之爲用戶友好的,謝謝! –

+0

是的,它也燒了我很多次,尤其是在這種情況下,錯誤信息根本沒有改變,從添加鏈接階段開始 – mz2

+0

此外,你需要添加框架一般/嵌入式二進制文件,或者你會得到一個「dyld:Library not loaded」的錯誤 –