IOS React Native 环境搭建注意事项
1.步骤:
git clone https://github.com/NervJS/taro-native-shell.git
cd taro-native-shell/
npm i
cd ios/
pod install
cd node_modules/react-native/scripts && ./ios-install-third-party.sh
cd node_modules/react-native/third-party/glog-0.3.4
…/…/scripts/ios-configure-glog.sh
做第2步
react-native run-ios
2.执行“ react-native run-ios --simulator "iPhone 6s”,报错“Could not find iPhone 6s simulator”;
解决方法:编辑 node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js;
在出现过version的地方之后加入console.log(version);
在出现过simulator的地方之后加入console.log(simulator);
再次执行“react-native run-ios --simulator "iPhone 6s”
查看输出日志:
console.log(version); 输出的信息如下:
com.apple.CoreSimulator.SimRuntime.iOS-10-3
com.apple.CoreSimulator.SimRuntime.iOS-13-1
com.apple.CoreSimulator.SimRuntime.iOS-12-4
com.apple.CoreSimulator.SimRuntime.tvOS-13-0
com.apple.CoreSimulator.SimRuntime.iOS-12-2
console.log(simulator);输出的信息如下:
{
state: ‘Shutdown’,
isAvailable: true,
name: ‘iPhone 6 Plus’,
udid: ‘5DC30CF5-CC46-48F6-B3B0-EB6CC94A8125’
}
{
state: ‘Shutdown’,
isAvailable: true,
name: ‘iPhone 6’,
udid: ‘D729A31D-93BF-42C3-BFEB-CFE374088BC3’
}
修改 node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js;
将
if (!version.startsWith(‘iOS’) && !version.startsWith(‘tvOS’)) {
continue;
}
处,替换为
if (version.indexOf(‘iOS’) !== 0 && !version.includes(‘iOS’)){
continue;
}
将
if (simulator.availability !== ‘(available)’) {
continue;
}
处,替换为
if (simulator.isAvailable !== true){
continue;
}
保存后,重新执行“react-native run-ios --simulator "iPhone 6s”;
则问题解决.
3.xcode11遇到React Native启动报错的问题 getCurrentAppState:error 和 objectAtIndexedSubscript: 的解决方案
https://blog.csdn.net/askme_/article/details/101206086
查看具体可用的设备名称
xcrun simctl list devices
运行命令
react-native run-ios --simulator “iPhone Xs”