2016-09-12 21 views
0
  1. 我創建了一個可可觸摸框架
  2. 我在這個框架內建立一個公共TestSDK迅速類不能被初始化,它有public func makeSomething()
  3. 我創建了一個iOS版應用
  4. 我建框架
  5. 我複製TestSDK到應用程序,鏈接TestSDK.framework
  6. 我加import TestSDK - 沒有錯誤
  7. 我加入let sdk = TestSDK(),並得到錯誤:

Invalid use of '()' to call a value of non-function type 'module'定製iOS的動態架構:雨燕類是進口的,但

+0

初聽愚蠢,但你嘗試過重命名類?例如,它可以發現一些潛在的類可見性錯誤。 –

+0

嘗試過 - 同樣的問題 –

+0

錯誤是否說有什麼不同? –

回答

1

解決了它。

框架的構建目標設備應不「通用iOS設備」,但是仿真或真實設備

+0

運行應用程序時,您不選擇此應用程序正在使用的框架的構建目標,因此必須是我認爲的其他東西。 –

+0

第一步是建立frawework。其次 - 將TestSDK複製到應用程序。第三是建立應用程序。在答案我的意思是第1步。 –

+1

對不起,由於某種原因,我認爲應用程序和框架在同一個工作區。我沒有意識到你導出並手動鏈接它 - 在這種情況下,你需要注意你正在構建的架構。 –

0

我試圖做同樣的事情,它工作正常。只要確保您明確標記該類爲public - Swift中的默認訪問控制級別爲internal,例如,只在模塊內部可用。

+0

class and func is public –