react-native 導(dǎo)致熱更新失敗的問(wèn)題之一

該文章是本人的一次項(xiàng)目總結(jié),本人項(xiàng)目使用的是react-native-pushy。假設(shè)你已經(jīng)有一個(gè)RN項(xiàng)目,且成功配置了pushy服務(wù),接入配置好了熱更代碼,如果沒(méi)有請(qǐng)參照react-native-pushy GitHub上的文檔進(jìn)行配置。

問(wèn)題

最近APP改版后,打了一個(gè)新的熱更包,然后用老版本APP去熱更會(huì)出現(xiàn)閃退,debug調(diào)試報(bào)錯(cuò)如下Unable to execute JS call: __fbBatchedBridge is undefined。

錯(cuò)誤操作流程

xcode修改version為1.0.0,然后打一個(gè)release模式的包到手機(jī),然后xcode歸檔出一個(gè)1.0.0的ipa包出來(lái),推到熱更平臺(tái)上,然后用這個(gè)底包去熱更,然后就閃退了。

原因

通過(guò)多次復(fù)現(xiàn)問(wèn)題,使用debug模式打印出報(bào)錯(cuò),然后查看GitHub文檔,找出原因是我操作流程的問(wèn)題。熱更必須保證pushy平臺(tái)上的底包和手機(jī)上安裝的app是同一個(gè)。然而我使用Xcode往手機(jī)安裝的包,簡(jiǎn)稱A,與用Xcode歸檔出來(lái)的包,簡(jiǎn)稱B。A與B雖然代碼完全一致,版本號(hào)一致,但這就已經(jīng)是兩個(gè)包了,所以熱更失敗。

解決方法

  1. 正常情況,直接把IPA包提交App Store審核,然后把這個(gè)IPA包upload到pushy平臺(tái),用戶從App Store下載該版本的包就可以正常更新。
  2. 測(cè)試時(shí),最好結(jié)合Text File,把歸檔出的IPA包upload到pushy平臺(tái),然后把IPA包提交到iTunes connect,測(cè)試人員從Text File下載該版本的包安裝,然后就可以正常熱更了。
  3. 如果你的iTunes沒(méi)有升級(jí),還可以通過(guò)Xcode編譯一個(gè)release模式的包到手機(jī),然后用iTunes導(dǎo)出該IPA包,然后upload該IPA到pushy平臺(tái),一樣能正常熱更。

總結(jié)

反正就是保證pushy平臺(tái)的底包與手機(jī)上安裝的app一致。

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,756評(píng)論 4 61
  • 開發(fā)React Native (以下簡(jiǎn)稱 RN)主要就是看中他的動(dòng)態(tài)更新和跨平臺(tái)以及代碼復(fù)用,本文介紹RN的動(dòng)態(tài)更...
    沐風(fēng)雨木閱讀 2,301評(píng)論 2 1
  • 詩(shī)意地棲居 詩(shī)意就是我們心中的花朵, 將詩(shī)詞融入生活,心生詩(shī)情,每個(gè)年華便都可詩(shī)意地綻放。 2017便是我與學(xué)生一...
    張冬艷閱讀 591評(píng)論 1 3
  • 接著上次繼續(xù)解讀: “快樂(lè)是我的 不是你給的 寂寞要自己負(fù)責(zé)” “親愛的 我當(dāng)時(shí)不懂得 選擇是我的 不是你給的 明...
    空靈168閱讀 588評(píng)論 0 0
  • 不早起, 你就無(wú)法享受 朝陽(yáng)那—— 轉(zhuǎn)瞬即逝的美。
    郭冬平閱讀 209評(píng)論 0 0

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