react-native-upload
一键上传 android/ios APP到各个测试平台和app store
支持系统
MacOs (使用了shell
语法,而且ios只能依赖xcode软件)
已集成平台
- 蒲公英 (android + ios)
- fir.im (android + ios)
- App Store (ios)
- Test Flight (ios)
安装
# Npm
npm install react-native-upload --save-dev
# Yarn
yarn add react-native-upload --dev
生成配置
先执行这个命令:
npx upload-init
执行命令后会在项目根目录中创建一个upload.json
文件,并生成以下内容:
// 未用到的配置,可以置空不填写,也可以直接删除
{
// 上传到蒲公英
"pgy": {
// 上传凭证,访问链接 https://www.pgyer.com/account/api ,复制Api Key
"pgy_api_key": "",
"ios_export_plist": "./ios-export/ad-hoc.plist"
},
// 上传到fir.im
"fir": {
// 上传凭证,访问链接 https://fir.im/apps/apitoken ,复制token
"fir_api_token": "",
"ios_export_plist": "./ios-export/ad-hoc.plist"
},
// 上传到App Store
"app_store": {
// 用户(APP_ID)必须拥有该APP的上传权限
"username": "",
// 随机密码,访问链接 https://appleid.apple.com/account/manage ,点击 App专用密码 生成密码
"random_password": "",
"ios_export_plist": "./ios-export/app-store.plist"
},
// 上传到Test Flight
"test_flight": {
// 用户(APP_ID)必须拥有该APP的上传权限
"username": "",
// 可与App Store配置共享同一个随机密码
"random_password": "",
"ios_export_plist": "./ios-export/ad-hoc.plist"
}
}
准备工作
ios_export_plist
即ios打包参数的存放路径。因为ios的打包参数及其复杂,每个项目都会有一些差异,所以为了保证能准确无误地打包出符合要求的app,您需要手动执行一次以下内容(只需一次)。
1、手动打包
点击 Xcode -> Product -> Archive
,等待打包完成
2、导出app
点击 Xcode -> Window -> Organizer
,选择刚才打的包,点击右边按钮Distribute App
,进行一系列选择之后,最后点击Export
按钮,把文件下载到本地磁盘。
一般来说,您可能需要手动导出两份app文件:
- 如果您想把app上传到测试平台,请尽量选择
Ad Hoc
的打包方式- 如果您想把app上传到App Store,请选择
ios App Store
的打包方式
3、复制plist文件
请将文件ExportOptionns.plist
复制到项目中,并保持与配置ios_export_plist
所指向的路径一致。推荐您将文件重命名为打包方式的名称,如ad-hoc.plist
、app-store.plist
等。
自动打包上传
蒲公英
npx upload-pgy
# 填写更新日志
npx upload-pgy --log "增加xxx功能"
# 忽略平台
npx upload-pgy --no-android
npx upload-pgy --no-ios
fir.im
npx upload-fir
# 填写更新日志
npx upload-fir --log "增加xxx功能"
# 忽略平台
npx upload-fir --no-android
npx upload-fir --no-ios
App Store
npx upload-appstore
# 或者缩写
npx upload-as
Test Flight
npx upload-testflight
# 或者缩写
npx upload-tf
只打包不上传
由于某种原因,您只想安安静静地打包出app而不上传到任何平台,您可以用以下指令处理您的需求:
同时打包android和ios
npx upload-build --ios-export-plist path/to/xxx.plist
单独打包android
npx upload-build-android
单独打包ios
npx upload-build-ios --ios-export-plist path/to/xxx.plist
欢迎使用并给我提建议