React Native Template for Taro
requirement
- taro:
@tarojs/cli@^3.2.0
- framework: 'react'
quick start
install react native library
install peerDependencies of
@tarojs/taro-rn
@tarojs/components-rn
and@tarojs/router-rn
, it will also runpost-install
. please modify and runupgradePeerdeps
script when you change taro version.run this script after project inited.
yarn upgradePeerdeps
pod install
run this script when you add new react native library or update react native library version.
see pod-install for more infomation.
yarn podInstall
start ios app
yarn ios
start android app
yarn android
start bundler
yarn start
more infomations
release
build ios bundle
yarn build:rn --platform ios
build Android bundle
yarn build:rn --platform android
release ios APP
see publishing-to-app-store for details.
release android apk
see signed-apk-android for details.
github workflows
use github actions to build your apps. this template include basic github action config.
see .github/workflows for details.
events
we assemble debug and release product for both android and ios when you push or pull request on master branch by default. design your own workflows by modify .github/workflows files.
see events-that-trigger-workflows
ios
configuration
Modify the following configuration items for package and publish your app.
.github/workflows/assemble_ios_debug.yml .github/workflows/assemble_ios_release.yml
env:
APP_ID: com.taro.demo # Application Product Bundle Identifier
APP_NAME: Taro Demo # The Display Name of your app
VERSION_NUMBER: 1.0.0 # Application version number
BUILD_NUMBER: 1.0.0.0 # Application build number, used by release only.
TEAM_ID: XXXXXXXXXX # Team ID, is used when upgrading project
PROVISIONING_PROFILE_SPECIFIER: Product_profile # Provisioning profile name to use for code signing
CODE_SIGN_IDENTITY: iPhone Distribution # Code signing identity type (iPhone Developer, iPhone Distribution)
SIGNING_CERTIFICATE_P12_DATA: ${{secrets.RELEASE_SIGNING_CERTIFICATE_P12_DATA}}
SIGNING_CERTIFICATE_PASSWORD: ${{secrets.RELEASE_SIGNING_CERTIFICATE_PASSWORD}}
PROVISIONING_PROFILE_DATA: ${{secrets.RELEASE_PROVISIONING_PROFILE_DATA}}
APP_STORE_CONNECT_USERNAME: ${{secrets.APP_STORE_CONNECT_USERNAME}} # This secret should be set to the Apple ID of your developer account, used by release only.
APP_STORE_CONNECT_PASSWORD: ${{secrets.APP_STORE_CONNECT_PASSWORD}} # used by release only.
values like ${{secrets.xxxxx}} are manually generated and store in your github encrypted secrets.
SIGNING_CERTIFICATE_P12_DATA
cat Certificates.p12 | base64 | pbcopy
SIGNING_CERTIFICATE_PASSWORD
encryption password of your Personal Information Exchange (.p12)
PROVISIONING_PROFILE_DATA
cat profile.mobileprovision | base64 | pbcopy
APP_STORE_CONNECT_PASSWORD
This secret should be set to an application-specific password for your Apple ID account. Follow these instructions to create an application-specific password.
Read more
android
configuration
Modify the following configuration items for package and publish your app.
.github/workflows/assemble_android_debug.yml .github/workflows/assemble_android_release.yml
env:
APP_ID: com.taro.demo # Application Product Bundle Identifier
APP_NAME: Taro Demo # The Display Name of your app
APP_ICON: ic_launcher # The Application icon of your app
APP_ROUND_ICON: ic_launcher_round # The Application round icon of your app
APP_ABI_FILTERS: armeabi-v7a, arm64-v8a # App abi filters
VERSION_NAME: 1.0.0 # version name
VERSION_CODE: 10 # version code
KEYSTORE_FILE: debug.keystore # key store file
KEYSTORE_PASSWORD: android # key store password
KEYSTORE_KEY_ALIAS: androiddebugkey # key store key alias
KEYSTORE_KEY_PASSWORD: android # key store key password
For the security of your app, please regenerate the .keystore file and store the password in your github encrypted secrets.