1、iOS启动模拟器出现如下错误信息
Application XXX(项目名) has not beenRegistered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent
原因:
1、AppRegistry.registerComponent('项目名',() => 项目名); *
与./ios/项目名/appDelegate.m中的RCTRootView*rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"项目名" initialProperties:nil launchOptions:launchOptions];
解决办法:
1、项目名称全部统一即可。
2、若不同,后两个项目名为root的类名。
2、本地服务没有启动,或者端口被占用。
解决办法:
1、到当前proj目录下,react-native start,启动本地服务。
2、如果出现 ERROR Packager can't listen on port 8081。
3、使用命令 lsof -i:8081 ,查看这个端口是否被某个进程占用。
如果被占用,会有信息输出如下。
~/Desktop/TabBarDemo/ [master] lsof -i:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 32146 Jueying 24u IPv6 0x75456f5cb82f8085 0t0 TCP *:sunproxyadmin (LISTEN)
如果没有被占用,则不会输出任何信息。
4、如果8081这个端口被占用,使用命令:kill -9 8081 ,命令将这个进程干。
5、command + r,刷新模拟器. 已ok。
2、错误信息Command "run-ios" unrecognized. Did you mean to run this inside a react-native project?
解决办法:
1、到当前proj目录下,使用命令:npm install即可。
写在结束。。。
学习ReactNative已有1月有余,简单的页面布局和网络请求,已经很熟悉。正准备适配安卓时,微信小程序又冒出来了,来势汹汹,很真切的感受到了从入门到放弃。
网友评论