- 如果編譯時自動生成的
Swift.h
報找不到<Product/Product.h>
,把<Product/Product.h>
改成<Product/Product-umbrella.h>
就好了,Xcode
的bug
。詳見這個issue - 可以在pod 的demo項目里配依賴pod的
:path
,避免從網(wǎng)絡(luò)拉取,加快迭代速度 - pod spec里
resource
和resource-bundle
是有區(qū)別的。resource-bundle
會在當(dāng)前改pod的bundle里再加一個bundle,個人認(rèn)為不是特別有必要。 - 如果只需要一個模塊里一個子模塊,就用在所需模塊里定義subspec(比如App Extension里不能有對UIApplication.sharedApplication的依賴,另起一個pod有感覺沒必要)
- 用Swift時NCClassFromString的參數(shù)要用
bundle.className
,bundle
就是pod名或者主項目名,因為這個原因感覺router的action最好使用OC實現(xiàn) - 有時候自動生成的
<Product>-Swift.h
會#import <Product/Product.h>
,然而編譯這個文件的時候Product
模塊還沒編譯完,直接報錯,報錯了后把這一行刪了就好,目前沒找到更好的解決方案。。。。 - 有些pod有對靜態(tài)庫的依賴,注意 在
source_files
和vendored_libraries
里 都 包括靜態(tài)庫,并且多加一句s.pod_target_xcconfig = { 'OTHER_LDFLAGS' => '"-ObjC"' }
-
performSelector
所對應(yīng)的函數(shù)一定要有返回值……不然會崩…… - 同一個pod里
Swift
可以直接調(diào)用OC
,但是OC
調(diào)用Swift
時需要把權(quán)限設(shè)為public - 如果所依賴的pod里有vendored_framework且該framework沒有modulemap且又要在swift里調(diào)用。。。乖乖寫bridge header里吧。。。
OC、Swift混編并使用pod模塊化的那些坑與解決方案
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
- 概述 利用runtime特性實現(xiàn)iOS項目的組件化開發(fā),是由@casatwy大神提出來的,在他的博客中具體介紹...
- 原文 【43.12】愛曰:“圣人作經(jīng),只是要去人欲,存天理。如五伯以下事,圣人不欲詳以示人,則誠然矣。至如堯舜以前...
- 經(jīng)過了一周的培訓(xùn),讓我對于一天的安排有了很多的感受。有計劃的執(zhí)行,和無序的生活是截然不同的體會。很多時候我會想到什...