taro react-native ios采坑实录

2,557 阅读2分钟

taro-docs.jd.com/taro/docs/G…

按照官网文档,我们很轻松就能编译好项目代码了! 然后我们开始启动我们的应用。

按照官方文档指引:

Taro 将 React Native 工程中原生的部分剥离出来,单独放在一个工程里面 NervJS/taro-native-shell,你可以把它看成是 React Native iOS/Android 空应用的壳子。

官方步骤

  1. 下载壳子 git clone git@github.com:NervJS/taro-native-shell.git
  2. 然后 cd taro-native-shell,使用 yarn 或者 npm install 安装依赖
  3. 使用 React Native 命令启动

按照以上步骤启动的你一定会有点失望~

出现如下错误:

Xcode-Buildtime错误: /Users/项目路径/Pods/Target Support Files/Pods-当前target名/Pods-当前target名.debug.xcconfig: unable to open file (in target "当前target名" in project "项目名") (in target '当前target名')。

原文https://juejin.cn/post/6844903839619874830

so,搜索这篇博客,RN小白才发现这个问题

问题原因:一般常见于下载的别人的项目,里面并没有帮我们装好pods

解决方案:安装项目需要依赖的pods就直接运行了。

也就是说我们在react-native run-ios之前需要cd 到ios目录下pod install.

什么是pod???

cocoaPod是Swift和objective-C的Cocoa项目的依赖管理器。它拥有53,000个库,并在超过300万个应用程序中使用。

cocoaPod是用Ruby语言开发的,可用Mac OS本身自带的Ruby安装,记得更新Ruby,不然安装容易失败。

CocoaPod安装和使用 blog.csdn.net/u012489472/…

当你安装好CocoaPod,就可以愉快的cd 到ios目录下pod install啦!

附一些cocoaPod资料

常用pod命令 www.jianshu.com/p/dafcfc8a8…

CocoaPods使用总结 www.jianshu.com/p/7d0ad4cde…

版本问题导致红屏

当你愉快的以为重新react-native run-ios就可以的时候,模拟机又是一个红屏丢给你(UIManager.getViewManagerConfig is not a function)

此时的你需要去项目的package.json看看,taro-rn 版本是多少,如果是1.3.9回退到 1.3.8 like this

(特此感谢taro开发者大佬的协助解决~) 重新安装好依赖后

taro-rn ios正式出生!

赠送xcode 10+用户常见bug解决

问题1: error: in `../node_modules/react-native/third-party/glog-0.3.4

解决方法:cd node_modules/react-native/third-party/glog-0.3.4/ && ../../scripts/ios-configure-glog.sh && cd ../../../../在项目文件夹下将“glog”改成需要的版本

问题2: error:Build input file cannot be found:‘/Users/.../Libraries/WebSocket/libfishhook.a’

解决方法:www.jianshu.com/p/3e29e9d89…