以 iOS 手機為例記錄 RN 工程在模擬器、真機上的運行;
模擬器運行工程
安裝 Xcode 時,會將 Simulator (iOS 模擬器)一并安裝;也可通過 Xcode --> Window --> Devices and Simulators --> Simulartors 進行模擬器的管理;
采用模擬器運行工程比較簡單,一句命令即可,可以通過系統的【終端】進入工程目錄執行命令,也可在 WebStorm 內底部工具欄打開【Terminal】執行命令;
// 會啟動默認模擬器運行工程
react-native run-ios
// 指定模擬器運行
react-native run-ios --simulator "模擬器的名字"
執行命令,本地會啟動一個 RN 的本地服務,如下:
ReactNative.png
工程運行起來,修改 RN 代碼,cmd + s 保存后,模擬器上的頁面可實時刷新;
真機運行工程
將手機通過 usb 與電腦連接,然后如下命令即可安裝工程:
// 1、通過“設備名稱”運行
react-native run-ios --device "iPhone的名字"
// 2、通過“udid”運行
react-native run-ios --udid "iPhone的udid"
也可直接將如下 ios 目錄下工程通過 xcode 打開,直接運行到真機上
ios_project.png
需要注意,真機調試需要將手機與電腦連接至同一局域網,并將 sourceURLForBridge 的地址設置為電腦的局域網ip;或者通過手機上RN頁面搖一搖喚起調試工具,將代理設置為電腦的局域網ip;
坑:8081 端口被占用
在公司電腦上運行 RN 工程時,因 RN 默認的 8081 端口被安全軟件占用,導致工程運行失敗;
解決辦法
(1)將 node_modules 目錄下,所有文件中的 8081 端口改為了 8082;
(2)將 iOS 工程 targets->Build Phases --> Start Package 下的端口 8081 改為 8082;
(3)指定端口啟動:react-native start --port 8082