以 iOS 手機(jī)為例記錄 RN 工程在模擬器、真機(jī)上的運(yùn)行;
模擬器運(yùn)行工程
安裝 Xcode 時(shí),會(huì)將 Simulator (iOS 模擬器)一并安裝;也可通過(guò) Xcode --> Window --> Devices and Simulators --> Simulartors 進(jìn)行模擬器的管理;
采用模擬器運(yùn)行工程比較簡(jiǎn)單,一句命令即可,可以通過(guò)系統(tǒng)的【終端】進(jìn)入工程目錄執(zhí)行命令,也可在 WebStorm 內(nèi)底部工具欄打開【Terminal】執(zhí)行命令;
// 會(huì)啟動(dòng)默認(rèn)模擬器運(yùn)行工程
react-native run-ios
// 指定模擬器運(yùn)行
react-native run-ios --simulator "模擬器的名字"
執(zhí)行命令,本地會(huì)啟動(dòng)一個(gè) RN 的本地服務(wù),如下:

工程運(yùn)行起來(lái),修改 RN 代碼,cmd + s 保存后,模擬器上的頁(yè)面可實(shí)時(shí)刷新;
真機(jī)運(yùn)行工程
將手機(jī)通過(guò) usb 與電腦連接,然后如下命令即可安裝工程:
// 1、通過(guò)“設(shè)備名稱”運(yùn)行
react-native run-ios --device "iPhone的名字"
// 2、通過(guò)“udid”運(yùn)行
react-native run-ios --udid "iPhone的udid"
也可直接將如下 ios 目錄下工程通過(guò) xcode 打開,直接運(yùn)行到真機(jī)上

需要注意,真機(jī)調(diào)試需要將手機(jī)與電腦連接至同一局域網(wǎng),并將 sourceURLForBridge 的地址設(shè)置為電腦的局域網(wǎng)ip;或者通過(guò)手機(jī)上RN頁(yè)面搖一搖喚起調(diào)試工具,將代理設(shè)置為電腦的局域網(wǎng)ip;
坑:8081 端口被占用
在公司電腦上運(yùn)行 RN 工程時(shí),因 RN 默認(rèn)的 8081 端口被安全軟件占用,導(dǎo)致工程運(yùn)行失敗;
解決辦法
(1)將 node_modules 目錄下,所有文件中的 8081 端口改為了 8082;
(2)將 iOS 工程 targets->Build Phases --> Start Package 下的端口 8081 改為 8082;
(3)指定端口啟動(dòng):react-native start --port 8082