2015-11-04 61 views
3

我試圖從https://github.com/codestergit/SweetAlert-iOS/blob/master/SweetAlert/SweetAlert.swift將swift文件導入到現有的objective-c項目中。Objective-C項目中的Swift:不支持靜態庫

添加文件到項目中,我嘗試編譯(只需添加文件,而不做其他任何事情)後,我得到了下面的生成錯誤:

Swift is not supported for static libraries 

我是新來的迅速和唐」看看這個庫是如何被標記爲靜態的,以及我應該如何改變它並使其編譯 - 我不需要它是靜態的。

我該如何解決這個問題?

回答

1

您必須將Swift文件添加到框架或應用程序。

由於從靜態庫導入Swift信息存在問題,Apple尚未實現構建和鏈接具有Swift代碼的靜態庫。

+0

我最終做的是創建一個包含Swift文件並讓我的靜態庫使用該框架的框架,因此可以訪問Swift文件的所有功能。 – developer82

0

just adding the file without doing anything else

我不知道你添加了什麼或者你添加了它。但是,你想做的事就是添加只是SweetAlert.swift文件 - 沒有別的 - 你想它添加到您的項目您的應用程序的目標的一部分。

然後,您還需要接受創建橋接頭的對話框,並將隱藏的橋接頭導入要調用此代碼的Objective-C代碼中。

+0

完成此操作。 – developer82

+0

你需要更多幫助嗎?在github上發佈你的項目,我會爲你修復它。或者如果你喜歡,我可以在github上爲你發佈一個例子。 – matt

+0

Ooooh,可能是_your project_已經包含一個靜態庫。在那種情況下,是的,你將無法將Swift文件加入其中。 – matt

0

問題發生是因爲您使用了swift代碼作爲objective-c項目。您會在podsTarget pod/XXXX/XXX下找到該文件是swift文件。 例如使用pod'ReactiveCocoa','2.1.8'而不是pod'ReactiveCocoa'