taro转rn-ios(个人记录,第一次搞,有误请指正:))

使用的多端框架taro,目的是开发一个ios应用,刚开始打算使用taro-ui,但是集成后发现taro-ui不支持rn,所以继而转向ant design mobile rn。
在集成ant design过程中也遇到很多问题,但是错误的提示都很明显,缺少什么装什么,然后yarn,npm run dev:rn重新编译就ok

  1. 首先说一下运行流程,使用 taro init xxx装载好项目
  2. 然后yarn装依赖
  3. 然后编译项目npm run dev:rn。看到如下图代表成功
  4. 然后按照官网的步骤装开发环境 https://reactnative.cn/docs/environment-setup#%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0

在这里插入图片描述

4.然后打开网页http://127.0.0.1:8081/index.bundle?platform=ios&dev=true 会触发对应终端平台的 js bundle 构建。
5.把应用放到空壳项目 (相关文章:https://github.com/NervJS/taro-native-shell/tree/0.63.2#readme)
6.git clone https://github.com/NervJS/taro-native-shell.git
7.cd taro-native-shell
8.yarn || npm install
工程目录如下:
➜ taro-native-shell git:(master) ✗ tree -L 1
.
├── LICENSE
├── README.md
├── android // Android 工程目录
├── ios // iOS 工程目录
├── node_modules
├── package.json
└── yarn.lock
9. cd ios
10. pod install
11. yarn ios
iOS 模拟器会自行启动,并访问 8081 端口获取 js bundle,至此就成功了

在使用ant design组件中,使用Icon会提示缺少字体文件
Unrecognized font family ‘antoutline’
在这里插入图片描述

这个时候需要去项目的node_modules下@ant-design下面的icons-react-native下面的fonts下面的antfill.ttf、antoutline.ttf找到这俩个文件复制出来。然后打开xcode,
添加这俩行,然后pod install、yarn ios妥了
在这里插入图片描述

  • 项目中用到了ant design mobile和第三方集成库dva,有一个问题需要注意。ant design提供了国际化的标签 import { Provider } from ‘@ant-design/react-native’ 但是同时redux也提供了相同的 import { Provider } from ‘react-redux’。总而言之,在app.js中也就是主页面需要将页面元素用俩个标签包裹起来,所以这里需要进行一下封装。
  • 新建untils/antRnProvider.js文件
// 因为redux的Provider和ant design的Provider冲突,从而封装一层达到效果 同时以后调用与Provider相关的组件,不用在页面内包裹<Provider></Provider>
import { Provider } from '@ant-design/react-native'

const rnProvider = (props) => {
  return <Provider>{props.children}</Provider>
}

export default rnProvider

  • app.js进行引入
import AntRnProvider from './utils/antRnProvider'
import { Provider } from 'react-redux'

class App extends Component {

  componentDidMount () {}

  // this.props.children 是将要会渲染的页面
  render () {
    return (
      <Provider store={store}>
        <AntRnProvider>
          {this.props.children}
        </AntRnProvider>
      </Provider>
    )
  }
}

export default App
  1. 在请求API的时候,接口为http的需要进行配置. 更改Allow Arbitrary Loads为YES
    在这里插入图片描述

真机构建(感谢无星老哥

首先自己配置好签名,账号的申请还有各种证书的申请,其次开始进行build

俩种方法
  1. 按照taro官网走(https://taro-docs.jd.com/taro/docs/react-native#%E6%9E%84%E5%BB%BA%E7%8B%AC%E7%AB%8B-app)
1. 配置 output
2. taro build --type rn --platform ios
3. ...
  1. 开始build
    1.打开空壳项目中iOS文件夹,新建一个名为bundle的文件夹
    在这里插入图片描述
    2.打开终端,cd到项目根目录,输入命令
 react-native bundle --entry-file index.js --bundle-output ./ios/bundle/index.jsbundle --platform ios --assets-dest ./ios/bundle --dev false 
 这个好像存在点问题,生成的index.jsbundle文件好像不全,建议使用上面命令生成的main.jsbundle,改名为index.jsbundle
  3.此时bundle目录里面会有一个 assets文件夹和index.jsbundle 俩个文件
  4.把文件拖到xcode内,最后是这个吊样子啊

在这里插入图片描述

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/69e7de1053c845f0b6313ce41d4a6247.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aOu5aOr6Zi_,size_20,color_FFFFFF,t_70,g_se,x_16

  5.这时候打开appdelegate.m,修改release的路径
return [NSURL URLWithString:[[NSBundle mainBundle] pathForResource:@"index.jsbundle" ofType:nil]];

在这里插入图片描述

 6.开始打包,xcode-Product-Archive,根据自己的需要选择-export

附几张xcode配置的相关东西,ps:自己觉得重要的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后将app发布到app store connect,第一次会很慢,网上有的人说短则3个小时,长则一天…这里推荐一个方法

step1: 打开终端输入
open ~/Library/Caches/com.apple.amp.itmstransporter/

step2: 删除文件夹内所有文件

step3: 在终端输入 (亲测在这里打开VPN会快很多,下载内容大概60M+/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/bin/iTMSTransporter

step4: 下载完了之后重启Xcode

// 如果在Xcode使用了shift+command+k清除缓存后,需要重新运行step1-step4

step3执行可能会有点慢,耐心等待即可。成功后,退出上传,重新上传即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: taro-plugin-tailwind是一个用于Taro开发框架的插件,它结合了Tailwind CSS和Taro框架的功能,旨在提供更便捷、高效的开发体验。 Tailwind CSS是一个功能强大、可定制的CSS框架,它通过提供一系列预定义的样式类,使开发者能够快速构建出丰富多样的UI界面。而Taro是一款跨平台的前端开发框架,它可以同时构建小程序、H5和React Native等多个平台的应用。 taro-plugin-tailwind的作用就是将这两者有机地结合在一起,让开发者在使用Taro开发项目时能够直接使用Tailwind CSS提供的各种样式类,从而节省编写繁琐CSS样式的时间。 使用taro-plugin-tailwind,我们只需要在Taro项目中安装并配置好该插件,然后就可以在项目中使用Tailwind CSS的样式类来定义组件的样式。例如,我们可以使用类似"bg-blue-500"、"text-white"这样的样式类来设置组件的背景颜色和文字颜色。 此外,taro-plugin-tailwind还提供了一些自定义配置的选项,允许开发者根据具体项目的需求进行样式配置和扩展。这使得我们可以根据项目需要添加自定义的样式类或修改现有的样式类,进一步满足项目的设计需求。 总之,taro-plugin-tailwind是一个帮助开发者将Tailwind CSS快速应用到Taro项目中的插件,它简化了样式开发流程,提高了开发效率,让我们可以更专注于项目的逻辑实现。 ### 回答2: taro-plugin-tailwind是一个适用于Taro前端开发框架的插件,它允许开发者在Taro项目中使用Tailwind CSS来简化样式开发流程。 Tailwind CSS是一个功能强大的工具集,它提供了一系列的CSS类名,开发者可以通过组合这些类名来构建出复杂的样式。使用Tailwind CSS能够大大提高开发效率,减少样式代码量,并且能够保持代码的可读性和可维护性。 taro-plugin-tailwind的使用非常简单,只需要在Taro项目中安装该插件,然后在配置文件中进行相应的配置即可。该插件会自动将Tailwind CSS的类名换为对应的样式。 通过使用taro-plugin-tailwind,开发者可以在Taro项目中使用大量的预定义样式类名,如颜色、背景、边框、文本样式等,可以轻松实现样式的定制化和重用。同时,该插件还支持自定义配置,开发者可以根据项目需求进行个性化的设置。 总之,taro-plugin-tailwind是一个非常实用的插件,它使得在Taro项目中使用Tailwind CSS更加方便和高效,能够帮助开发者快速构建出漂亮而且响应式的界面。无论是新项目还是现有项目,都可以考虑使用taro-plugin-tailwind来加速开发进程。 ### 回答3: taro-plugin-tailwind是一个为Taro框架提供的Tailwind CSS的插件。Taro是一个跨平台的前端开发框架,可以使用一套代码开发多个平台的应用程序,包括小程序、H5、React Native等。 Tailwind CSS是一个高度可定制的CSS框架,它通过将原子类(例如m-4、p-2)组合来构建样式,可以快速而灵活地创建各种各样的界面。Taro-plugin-tailwind的目的就是将Tailwind CSS集成到Taro框架中,提供更强大的样式处理能力。 使用taro-plugin-tailwind可以让开发者更轻松地在Taro应用中使用Tailwind CSS,省去了手动配置的繁琐过程。只需要在Taro项目中安装这个插件,并在项目的配置文件中进行相应的配置,即可开始使用Tailwind CSS样式。 通过taro-plugin-tailwind,开发者可以使用Tailwind CSS的所有特性,如响应式布局、自定义颜色、间距、阴影等。可以通过直接引用Tailwind CSS的类名,或者使用插件提供的自定义组件,来实现所需的样式效果。 总之,taro-plugin-tailwind是一个集成了Tailwind CSS的Taro插件,通过使用这个插件,开发者可以更方便地在Taro应用中使用Tailwind CSS,快速构建出具有各种样式效果的界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值