iOS遠(yuǎn)程Pod進(jìn)入ReactNative

demo

demo地址:https://github.com/kymodular/RNModule

使用

  1. podfile文件頭部添加如下私有庫(kù)

    source 'https://github.com/kymodular/PrivatePods.git'
    source 'https://github.com/CocoaPods/Specs.git'
    
  2. 然后在給target正常添加RN依賴和第三方依賴就行,如下

    use_frameworks!
    target 'RNModule' do
        pod 'React', :subspecs => [
        'Core',
        'CxxBridge', # 如果RN版本 >= 0.47則加入此行
        'DevSupport', # 如果RN版本 >= 0.43,則需要加入此行才能開(kāi)啟開(kāi)發(fā)者菜單
        'RCTText',
        'RCTNetwork',
        'RCTWebSocket', # 調(diào)試功能需要此模塊
        'RCTAnimation', # FlatList和原生動(dòng)畫功能需要此模塊
        # 在這里繼續(xù)添加你所需要的其他RN模塊
      ]
    
      pod 'yoga', '0.59.9.React'
      # 如果RN版本 >= 0.45則加入下面三個(gè)第三方編譯依賴
      pod 'DoubleConversion'
      pod 'glog'
      pod 'Folly'
    end
    
    

官方的RN接入優(yōu)缺點(diǎn)

官方的RN接入,是通過(guò)npm下載源碼,pod讀取本地spec的方式加載RN庫(kù),走的是development的環(huán)境。

優(yōu)點(diǎn) :安卓和iOS共用一個(gè)版本的RN,都讀取同一份npm下載的RN,方便整體維護(hù)和升級(jí),適合安卓和iOS共同開(kāi)發(fā)的情況。

缺點(diǎn):要求Android,iOS工程必須放到RN工程的ios/android/目錄下,一個(gè)團(tuán)隊(duì)同時(shí)開(kāi)發(fā)這樣沒(méi)什么問(wèn)題,如果RN、Android、iOS工程是有不同團(tuán)隊(duì)維護(hù),這樣非常難受了,試想一下,每次你提交git都要拉去其他團(tuán)隊(duì)和你無(wú)關(guān)的代碼,你是不是很煩。

遠(yuǎn)程Pod接入

通過(guò)遠(yuǎn)程Pod接入,把本地的spec都上傳到遠(yuǎn)程私有庫(kù),然后在添加依賴,

優(yōu)點(diǎn)

  1. 不必將iOS項(xiàng)目放到RN工程的ios/
  2. 通過(guò)遠(yuǎn)程Pod接入,便于項(xiàng)目以模塊化方式快速引入React Native

缺點(diǎn):需要管理安卓和iOS兩套庫(kù),iOS部分pod lint有問(wèn)題

問(wèn)題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容