標籤:
最近在嘗試使用 React Native 做一些東西,發現真機調試還是有一些坑存在的。
iOS 真機調試
首先,你要讓調試用電腦和你的手機必須處於相同的 WiFi 網路中下
開啟 iOS 項目的 AppDelegate.m
檔案
更改 jsCodeLocation
中的 localhost
改成你電腦的區域網路IP地址
在 Xcode
中,選擇你的手機作為目標裝置,Run
即可
可以通過晃動裝置來開啟開發菜單(重載、調試等)
Android 真機調試
在 Android 裝置上開啟 USB debugging
並串連上電腦啟動調試。
在真機上啟動並執行方法與在模擬器上運行一致,都是通過 react-native run-android
來安裝並且運行你的 React Native 應用。
如果不是 Android 5.0+ (API 21) ,那麼就沒辦法通過 adb reverse
進行調試,需要通過 WiFi 來串連上你的開發人員伺服器
讓調試用電腦和你的手機必須處於相同的 WiFi 網路中下
開啟震動菜單 (搖動裝置)
前往 Dev Settings
選擇 Debug server host for device
輸入調試用電腦的區域網路IP
點擊 Reload JS
Xcode7上運行報錯解決方案
在 Xcode7 指定真機運行,結果報出如下錯誤:
Undefined symbols for architecture arm64: "_RCTSetLogFunction", referenced from: -[PropertyFinderTests testRendersWelcomeScreen] in PropertyFinderTests.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
一開始以為的 React Native 庫的問題,尋找了一下資料,研究了一下,原來在 Build Setting
中設定 Dead Code Stripping
為 No
(如)就可以解決了
React Native真機調試