react native更新失效的解決方法:1、直接把IPA包提交App Store審核,然後把IPA包upload到pushy平台;2、歸檔出的IPA包upload到pushy平台,然後把IPA包提交到iTunes connect;3、透過Xcode編譯一個release模式的包到手機,然後用iTunes匯出該IPA包,再upload該IPA到pushy平台即可。
本教學操作環境:Windows10系統、react18.0.0版、Dell G3電腦。
react native更新失效怎麼辦?
react-native 導致熱更新失敗的問題之一
該文章是本人的一次專案總結,本人專案使用的是react-native- pushy。假設你已經有一個RN項目,且成功配置了pushy服務,接入配置好了熱更代碼,如果沒有請參考react-native-pushy GitHub上的文檔進行配置。
問題
最近APP改版後,打了一個新的熱更包,然後用舊版APP去熱更會出現閃退,debug調試報錯如下Unable to execute JS call: __fbBatchedBridge is undefined。
錯誤操作流程
xcode修改version為1.0.0,然後打一個release模式的包到手機,然後xcode歸檔出一個1.0.0的ipa包出來,推到熱更平台上,然後用這個底包去熱更,然後就閃退了。
原因
透過多次復現問題,使用debug模式列印出報錯,然後查看GitHub文檔,找出原因是我操作流程的問題。熱更必須確保pushy平台上的底包和手機上安裝的app是同一個。然而我使用Xcode往手機安裝的包,簡稱A,與用Xcode歸檔出來的包,簡稱B。 A與B雖然程式碼完全一致,版本號碼一致,但這就已經是兩個包了,所以熱更失敗。
解決方法
正常情況,直接把IPA套件提交App Store審核,然後把這個IPA套件upload到pushy平台,用戶從App Store下載該版本的套件就可以正常更新。
測試時,最好結合Text File,把歸檔出的IPA包upload到pushy平台,然後把IPA包提交到iTunes connect,測試人員從Text File下載該版本的包安裝,然後就可以正常熱更了。
如果你的iTunes沒有升級,還可以透過Xcode編譯一個release模式的套件到手機,然後用iTunes匯出該IPA包,然後upload該IPA到pushy平台,一樣能正常熱更。
總結
反正就是保證pushy平台的底包與手機上安裝的app一致。
推薦學習:《react影片教學》
以上是react native更新失效怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!