Just My Life & My Work

先前有提到在Swift專案使用Objective C第三方套件,現在想要反過來該怎麼做呢?目前我主要還是以Objective C來開發iOS App,然而有些超級好用的套件是用最潮的程式語言Swift打造,為了方便開發起見,還是來學著怎麼「橋接 (Bridging)」吧!

在這裡我是使用Cocoapods來下載Charts這個超過15000人使用開源做範例。

target ‘HappyChartTest’ do
# Uncomment the next line if you’re using Swift or would like to use dynamic       frameworks
use_frameworks!
pod ‘Charts’
# Pods for HappyChartTest
end

接著在需要引用Charts的檔案中引用:

#import <Charts/Charts-Swift.h>

而非

#import <Charts/Charts.h>

我發現Charts-Swift-Swift.h似乎是動態產生在資料夾:

/Users/happyboy/Library/Developer/Xcode/DerivedData/SmartDevice-duaakabiiydkjiaquyzqjzfpylwb/Build/Products/Debug-iphoneos/Charts/Charts.framework/Headers

此外,還有這個檔:

Charts-umbrella.h

Objective C Swift Bridge

編譯時會出錯:

Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift.

原來還要在專案設定:

Objective C Swift Bridge2

在Xcode 8.3.3設定:

Build Settings > Swift Compiler – Version > Swift 3

如此就能隨心所欲地使用Swift第三方套件囉~

參考:[iOS][Cocoapod][Bridging] 在Objective-C專案裡面使用Swift的pod

廣告

Comments on: "[iOS] 在Objective C專案使用Swift第三方套件" (4)

  1. 太久沒用這個方式,都忘了自己過去有用過~😆

  2. […] Objective C使用Swift:在Objective C專案使用Swift第三方套件 […]

  3. […] 怎麼在Objective C中使用Swift Open Source?可參考文章:在Objective C專案使用Swift第三方套件。 […]

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: