React-Native CodePush配置

Staging:测试环境

Production:线上环境

code-push deployment history meeting_room_ios Staging //查询开发环境下的发布更新包历史

code-push deployment history meeting_room_ios Production //查询线上环境下的发布更新包历史

code-push release-react <应用名称> <平台> <对应的应用版本> --deploymentName: 更新环境 --description: 更新描述 --mandatory: 是否强制更新

//cd到package.json文件,上传测试环境下更新包

code-push release-react meeting_room_ios ios --t 4.0.0 --dev false --d Staging --des "这是第3个更新包" --m false

//cd到package.json文件,上传线上app的补丁包

code-push release-react meeting_room_ios ios --t 4.0.0 --dev false --d Production --des "这是第3个更新包" --m false

注意:现在打出的bundle后,添加到项目中不是添加bundle文件夹,而是将文件夹内的文件直接以refrense方式添加到项目中,不然Codepush找不到文件

app版本号必须为3位数,如:3.0.0

Code-push Xcode配置

1.package.json 文件中添加 "react-native-code-push": "^5.6.0”,执行 npm install

2.podfile文件中添加pod 'CodePush', :path => '../node_modules/react-native-code-push’(路径根据实际情况修改),执行pod install

3.AppDelegate.m中需改加载路径,release环境修改为[CodePush bundleURL];注意:现在打出的bundle后,添加到项目中不是添加bundle文件夹,而是将文件夹内的文件直接以refrense方式添加到项目中,不然Codepush找不到文件

4.点击项目名-PROJECT-Info,在Configurations 中添加+,选择Duplicate "Release" Configuration,取名Staging

CFCC3E0A-539B-4600-89D6-307C8B032F67.png

5.选择PROJECT-Build SettingsBuild Location > Per-configuration Build Products Path > Staging,修改Staging的值(CONFIGURATION)(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)

EC3D20BA-19A5-4895-8191-D625FF9A977F.png

6.选择【TARGETS】-Build-Seeting-Add User-Defined Setting,添加一个key为CODEPUSH_KEY,里面的值填写Release对应的和Staging对应的的值,在平台:XXXX

上有该应用的Production和Staging的key值,Production对应的是线上环境app的key,Staging是测试使用的key值,

DB307C18-39C5-4BF3-A704-0A54FF2A5048.png

7.打开Info.plist文件,添加一个key为:CodePushDeploymentKey,值为:$(CODEPUSH_KEY),

添加一个key为:CodePushServerURL,值为:[http://xxx.xxx.xx.xxx:xxxx]

494DBF33-EA3B-420B-B444-9DA5DF03E981.png

8:使用cocoapod安装的需要修改【TARGET】-Build-Seeting-[PODS_CONFIGURATION_BUILD_DIR]-Staging的值为:(EFFECTIVE_PLATFORM_NAME)

9.测试打包时,需要使用测试热更新环境时,先将项目clear一下,在改为release环境编译,编译成功后改为Staging,【直接使用Staging编译可能会报错】【注:热更新的测试环境需要在【edit-scheme】-[Run]-Build Configuration-[Staging],打线上环境需要将此处改为Release,如果报错:libraries not found for "staging”见:【https://github.com/Microsoft/react-native-code-push/issues/426】

你可能感兴趣的:(React-Native CodePush配置)