踩一個Flutter Hot Reload的新坑

Nikk發表於2019-06-27

記一個小坑

  • 主要影響:最近根據官網文件安裝Flutter Hot Reload依賴的同學
  • 遇到問題:iOS連線實體手機開發時候啟動xcode flutter的debugger後,會遇到連線在5秒之後自動斷開的情況, 穩定復現...
  • 事故現場

    啟動的時候看起來風平浪靜

    踩一個Flutter Hot Reload的新坑
    過了幾秒就翻車了
    踩一個Flutter Hot Reload的新坑

  • 直接跑flutter run的話也是一樣會5秒後自動翻車

原因

  • Flutter官方使用libusbmuxd這個庫去連線iOS裝置做熱載入
    • 官方文件上建議的安裝方式是
      brew install --HEAD usbmuxd
      brew link usbmuxd
      複製程式碼
    也就是直接拉人家libusbmuxd這個庫的master程式碼了... 可以說很大膽了
    • 沒想到libusbmuxd更新了... 然後最新的commit程式碼有點問題, 導致了這次問題.

分析

  • 換個穩定版本的libusbmuxd (可是brew沒辦法安裝具體某一個commit)

解決辦法

  • 找到libusbmuxd庫的前一個穩定版本commit 2501f51
    踩一個Flutter Hot Reload的新坑
  • 下載下來 本地重新安裝一下這個版本的libusbmuxd
./autogen.sh
make
sudo make install
複製程式碼

替換之後, 終於可以繼續愉快地寫bug了

踩一個Flutter Hot Reload的新坑

相關文章