今天在写一个简单的RN的Demo时,一连出现了好几个错误,最后幸亏得以解决,在这里把我踩过的坑以及解决办法分享出来:
1.运行出现错误:Could not connect to development server.
解决办法:
请将项目中 AppDelegate.m 中的
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
改为
jsCodeLocation = [NSURL URLWithString:@"http://127.0.0.1:8081/index.ios.bundle?platform=ios&dev=true"];
原因:做本地局域网开发环境,大部分都会做服务器映射处理,localhost 被指向特定的IP 而不是本机的127.0.0.1, 就会出现这样的问题。
2."Unable to resolve module XXX from ......." in react native
出现这样的错误提示有两个原因,一个是你的依赖没有完全安装,另外一个就是你的文件里的代码没有写对,比如英文字母写错等。
如果是依赖没有安装,可以参考以下命令:
npm i XXX --save 或者 npm install
然后关掉终端,重新运行。
3.ios9 https机制下连接网络办法:
先在Info.plist中添加NSAppTransportSecurity类型Dictionary.
然后在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES.
4.切记,我的大多数错误就是代码写错,居然找了半天原因,笑哭了。。。。。。
5.TabBarIOS底部的图标资源放在Xcode工程文件中方能显示出来。
6.React-native中在某些内页如何隐藏TabBarIOS的办法:
- 文件: RCTWrapperViewController.m
- 方法: - (void)viewWillAppear:(BOOL)animated
- 插入下面一句:
self.navigationController.tabBarController.tabBar.hidden=self.navigationController.childViewControllers.count>1?YES:NO;
7.安装react-native-icons插件,在项目的根目录下执行
npm install react-native-icons@latest --save
下载完成后可以在node_modules目录下看到该插件。
参考地址:http://blog.csdn.net/itfootball/article/details/48710827
8.iOS模拟器运行后显示黄色的警告框 怎么能让它不显示:
AppDelegate.m中的
[NSURL URLWithString:@"http://127.0.0.1:8081/demo/index.bundle?platform=ios&dev=false"];
其中,dev改成false,即可。