#!/bin/bash
# ======= 可配置参数 =======
APP_NAME="sunoAi" # CodePush App 名称
DEPLOYMENT="Staging" # CodePush 环境:Staging / Production
BUNDLE_DIR="../codepush/bundle" # 输出目录
ENTRY_FILE="index.js" # RN 入口文件
PLATFORM="ios" # 平台
# ===========================
# 支持通过参数传入版本号
if [ -n "$1" ]; then
VERSION="$1"
else
# 若未传参,则提示输入
read -p "🔢 请输入版本号 (例如 4.7.20): " VERSION
if [ -z "$VERSION" ]; then
echo "❌ 版本号不能为空"
exit 1
fi
fi
# 清理旧 bundle
rm -rf $BUNDLE_DIR
mkdir -p $BUNDLE_DIR
echo "📦 开始打包 React Native Bundle..."
npx react-native bundle \
--entry-file $ENTRY_FILE \
--platform $PLATFORM \
--dev false \
--bundle-output $BUNDLE_DIR/main.jsbundle \
--assets-dest $BUNDLE_DIR \
--sourcemap-output $BUNDLE_DIR/main.jsbundle.map
if [ $? -ne 0 ]; then
echo "❌ 打包失败,请检查错误信息"
exit 1
fi
echo "🚀 开始发布 CodePush 更新..."
code-push release \
$APP_NAME \
$BUNDLE_DIR \
$VERSION \
-d $DEPLOYMENT \
--description "iOS $VERSION 自动发布包"
if [ $? -ne 0 ]; then
echo "❌ 发布失败,请检查 CodePush 配置"
exit 1
fi
echo "✅ CodePush 发布完成!"
code-push打包脚本
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 解决办法,手动用Xcode archive一份,然后会生成正确的对应的plisty文件,然后再把这个plist文件...
- 要使用code-push-server,来替换react-native-code-push微软的服务器,也可以搭建...
- 参考 code-push code-push-cli cordova-plugin-code-push ionic...