最近做了一个RN的项目,RN小白,自然遇到了不少问题,这里记录一下。
命令行下启动IOS版本时出现如下错误:
1
xcrun: error: unable to find utility "instruments", not a developer tool or
这个是装完xcode后模拟器无法识别的问题,解决办法是在终端下执行如下命令:
1
2
3
4
5sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/
```
2. 终端命令启动某个APP时,出现红屏错误,而上面显示的错误信息表明加载代码的路径与当前要运行的代码路径不相符。这个错误应该是你上一次运行了另外一个APP,而当你再次运行第二个不同的APP时没有把上一个APP的终端监听给关掉。此时只需要关闭react-native start的监听终端即可,然后重启APP
3. 在使用`react-devtools`查看APP的布局结构时,出现如下信息而无法链接上APPWaiting for React to connect
1
在终端下执行如下命令,然后重启`react-devtools`即可
adb reverse tcp:8097 tcp:8097
1
2
3
4
5
64. `ScrollView`中`TextInput`的焦点问题。当`ScrollView`中存在`TextInput`时,当输入完文字后,`TextInput`会还占用焦点,导致`ScrollView`内的其他元素需要点击两次才能起作用,这时需要设置`ScrollView`的如下属性:`keyboardShouldPersistTaps="handled"`即可
5. 针对软键盘遮挡问题,我试了几种方案,发现下面两种方案比较简单有效:
- RN官方提供的`KeyboardAvoidingView`方案最简单有效
- 另外一种方案是自己监听软键盘的打开与关闭然后结合`Animated`动画来实现软键盘的遮挡问题,这种方案比较灵活
6. IOS启动指定版本模拟器: `react native run-ios --simulator "iPhone X"`
7. Android打包失败,信息如下:What went wrong:
Execution failed for task ‘:app:bundleReleaseJsAndAssets’.A problem occurred starting process ‘command ‘node’’
1
这个错误的可能原因是gradle deamon的缓存问题,关掉cradle deamon,重新再执行一次就可以解决
./gradlew –stop
`
原创文章,转载请出处注明。
下面是我的个人公众号,欢迎关注交流