关于react native一些问题

好久没写简书了 去年我接触了react native 发现它很方便快速的完成双平台开发,

这里我先简单说下在做rn中遇到的一些问题 之后会陆续写更多

接手过一个老版本rn项目 当时是打包传过来的 当运行时发现了问题
首先是每次Xcode运行都会提示我

20171030152349762.jpeg

这是说你的launchPackager.command没有执行权限

然后会报


20171030152418187.jpeg

类似这个错误

解决方法是
在终端 输入 $chmod 755 /Users/....../node_modules/react-native/packager/launchPackager.command 和 $ chmod 755 /Users/....../node_modules/react-native/local-cli/setup_env.sh
即可 (你的本机路径)

另外 rn有时候会报一些你想不到的问题

按如下:
安装 npm-check-updates 这个包:
npm i -g npm-check-updates在项目目录下
rm -rf node_modules
ncu -u
npm install

这样可以解决很多莫名其妙的 node 包依赖问题

有时你用Xcode跑工程时 可能会出现这个问题
Script-00DD1BFF1BD5951E006B06BC.sh: line 3: ../node_modules/react-native/packager/react-native-xcode.sh: No such file or directory

这是因为react-native 低版本升级到0.49以上版本导致的

解决方法

1.打开 Xcode Build Phases > Bundle React Native code and images
2.修改export NODE_BINARY=node ../node_modules/react-native/packager/react-native-xcode.sh 为export NODE_BINARY=node ../node_modules/react-native/scripts/react-native-xcode.sh


WGNRc.png

老版本rn iOS工程里会这样生成代码

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"index.ios" withExtension:@"jsbundle"];

这样如果后期 UI发生变化时 ios是不会跟着变得

按新版本的写 应该这样写

jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容