使用react-native-code-push插件來實現熱更新的時候,會遇到一些問題。下面這個問題就讓我差點崩潰了。
在測試 Production 和 Staging 是否會去檢查各自環境下的bundle文件,我就遇到了混亂的問題。
有時候用 Release 打包出來的app會去檢查 Staging 下的bundle文件。經過無數的排除,最終找到了原因。
因為項目用cocoapods來依賴react-native庫,并且我把原來的project下的target刪除掉了,然后重新創建了一個target。
編譯的時候,系統提示警告:
Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'xxx/Info.plist'.
作為程序員,你懂得。我們從來不關心warning,只在乎crash。所以我就在在上面吃了一個大虧。
因為項目是根據編譯環境自動去確定codepush的deployment key的,
上面的警告就是因為沒有找到正確的info.plist的原因,導致$(CODEPUSH_KEY)的值不確定。所以就出現了開頭所說的測試混亂的問題。
?
Tips:另外,切換編譯的scheme后,必須將項目重新clean一遍,這樣才能確保不會出現$(CODEPUSH_KEY)的值不確定的情況。
?
解決辦法:
https://developer.apple.com/library/content/qa/qa1649/_index.html
?