網(wǎng)上看了很多文章筋量,但是除了基本配置外烹吵,其他的一律沒解決我的問題,經(jīng)過一天的摸索桨武,終于在下班時分摸索成功了肋拔。下面給大家說一下我踩的坑以及最后成功的方法。
cocoapods配置
咱們先從cocoapods說起呀酸。因為 Apple 不允許開發(fā)者構(gòu)建內(nèi)含 Swift 代碼的靜態(tài)庫凉蜂,所以要往 OC 項目中集成第三方 Swift 代碼的時候就只能通過動態(tài)框架( framework )的形式了。而 CocoaPods 還不能很好地將 framework 和靜態(tài)庫混編到一起性誉,所以要么不用 framework窿吩,要用就要全部用上。關(guān)于這一點错览,CocoaPods 官博上的原話是這樣說的:
This is an all or nothing approach per integrated targets, because we can’t ensure to properly build frameworks, whose transitive dependencies are static libraries.
所以纫雁,到這里匯集成一句話:Podfile文件中用 “use_frameworks!”。
Xcode配置
設(shè)置混編
當(dāng)項目中沒有.swift文件時倾哺,需創(chuàng)建一個.swift文件轧邪。第一次創(chuàng)建"Test.swift"文件時,會彈窗提示你是否需要自動生成一個橋接文件悼粮,這個時候你要毫不猶豫的點是闲勺!
但是如果假如你點了否曾棕,沒關(guān)系扣猫,稍微再多花點時間而已:
1.手動創(chuàng)建一個頭文件,名字叫Your_Product_Name-Bridging-Header.h翘地。
2.確保你的項目目錄下至少有一個 .swift 文件申尤。
3.確保在Targets的 Build Settings 里,Product Module Name是有值的衙耕。(如果沒有昧穿,直接設(shè)置為$(PRODUCT_NAME)就可以了)
還有一點需要注意,您的swift language version要和導(dǎo)入的第三方庫相匹配橙喘。
下面代碼中就是我踩的坑了时鸵。
代碼配置
按照網(wǎng)上的資料,我就直接在要使用第三方庫的地方直接導(dǎo)入“項目名-swift.h”文件并使用了庫中其方法厅瞎,結(jié)果報錯了饰潜,not find func...此刻的我毫不慌張,我把報錯在網(wǎng)上一搜和簸,結(jié)果懵逼了彭雾,搜不到!然后我還是毫不慌張锁保,整整用了一下午的時間這試一下薯酝,那試一下半沽,最后還真讓我給鼓搗成功了!具體方法如下:
在bridge文件中導(dǎo)入需要引用的第三方庫
在需要用到三方庫的地方導(dǎo)入“項目名-swift.h”文件以及橋接文件
兩個文件都要導(dǎo)入哦
最終大功告成吴菠!