最近在嘗試使用 React Native 作一些東西,發現真機調試仍是有一些坑存在的。react
首先,你要讓調試用電腦和你的手機必須處於相同的 WiFi 網絡中下android
打開 iOS 項目的 AppDelegate.m
文件react-native
更改 jsCodeLocation
中的 localhost
改爲你電腦的局域網IP地址服務器
在 Xcode
中,選擇你的手機做爲目標設備,Run
便可網絡
能夠經過晃動設備來打開開發菜單(重載、調試等)ui
在 Android 設備上打開 USB debugging
並鏈接上電腦啓動調試。spa
在真機上運行的方法與在模擬器上運行一致,都是經過 react-native run-android
來安裝而且運行你的 React Native 應用。debug
若是不是 Android 5.0+ (API 21) ,那麼就沒辦法經過 adb reverse
進行調試,須要經過 WiFi 來鏈接上你的開發者服務器調試
讓調試用電腦和你的手機必須處於相同的 WiFi 網絡中下code
打開震動菜單 (搖動設備)
前往 Dev Settings
選擇 Debug server host for device
輸入調試用電腦的局域網IP
點擊 Reload JS
在 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
(以下圖)就能夠解決了