demo
demo地址:https://github.com/kymodular/RNModule
使用
-
在
podfile
文件頭部添加如下私有庫source 'https://github.com/kymodular/PrivatePods.git' source 'https://github.com/CocoaPods/Specs.git'
-
然后在給
target
正常添加RN依賴和第三方依賴就行骇扇,如下use_frameworks! target 'RNModule' do pod 'React', :subspecs => [ 'Core', 'CxxBridge', # 如果RN版本 >= 0.47則加入此行 'DevSupport', # 如果RN版本 >= 0.43,則需要加入此行才能開啟開發(fā)者菜單 'RCTText', 'RCTNetwork', 'RCTWebSocket', # 調(diào)試功能需要此模塊 'RCTAnimation', # FlatList和原生動畫功能需要此模塊 # 在這里繼續(xù)添加你所需要的其他RN模塊 ] pod 'yoga', '0.59.9.React' # 如果RN版本 >= 0.45則加入下面三個第三方編譯依賴 pod 'DoubleConversion' pod 'glog' pod 'Folly' end
官方的RN接入優(yōu)缺點
官方的RN接入,是通過npm下載源碼,pod讀取本地spec的方式加載RN庫彩倚,走的是development的環(huán)境炮姨。
優(yōu)點 :安卓和iOS共用一個版本的RN,都讀取同一份npm下載的RN浸间,方便整體維護和升級套蒂,適合安卓和iOS共同開發(fā)的情況名段。
缺點:要求Android阱扬,iOS工程必須放到RN工程的ios/
和android/
目錄下泣懊,一個團隊同時開發(fā)這樣沒什么問題伸辟,如果RN、Android馍刮、iOS工程是有不同團隊維護信夫,這樣非常難受了,試想一下卡啰,每次你提交git都要拉去其他團隊和你無關(guān)的代碼静稻,你是不是很煩。
遠(yuǎn)程Pod接入
通過遠(yuǎn)程Pod接入匈辱,把本地的spec都上傳到遠(yuǎn)程私有庫振湾,然后在添加依賴,
優(yōu)點 :
- 不必將iOS項目放到RN工程的
ios/
- 通過遠(yuǎn)程Pod接入亡脸,便于項目以模塊化方式快速引入React Native
缺點:需要管理安卓和iOS兩套庫押搪,iOS部分pod lint有問題